私はhtmlを取得しようとしていて、文字列のひげコードを翻訳して複数のユーザーに電子メールで送信しようとしています。電子メールはQuartz
によってスケジュールされ、ユーザーに送信されます。剃刀htmlからクォーツを使用した文字列
メールは@Url.Action
でリンクを生成しています。アプリケーションのこの時点で私にController
もHttpContext
もないことがわかりました。私は@Url.Action
を翻訳することはできませんし、Visual Studioのために働いパッケージMvcMailer
を見つけることができないので、私は2017
razor
コード(
RazorEngine
と
MvcMailer
)を変換する方法をしようとし、電子メールで、ない使用して送信されています
可能な方法はありますか?ここで
は、電子メールのテンプレートです:
Hi @ViewBag.RecipientName,
Client that buy this item is @Model.ClientName
<p> <a href='@Url.Action("Index", "Item", new { ItemId = Model.ItemId}, Request.Url.Scheme)'>Click here to check the Item</a> </p>
@ViewBag.RecipientEmailAddress
ここでは、電子メール・ジェネレータ
public MailMessage GetMessage(EmailModel notification)
{
string BodyTemplate = ReplaceEmailBody(notification);
return new MailMessage
{
To = { "[email protected]" },
Subject = DateTime.Now.ToString(),
IsBodyHtml = true,
Body = BodyTemplate
};
}
はここでかみそりを置き換えるために、私のゴミの試みです:
private string ReplaceEmailBody(EmailModel notification)
{
string notificationBody = "";
notificationBody = Templates.Resources.MailTemplate;
notificationBody = notificationBody.Replace("@ViewBag.RecipientName", notification.RecipientName);
notificationBody = notificationBody.Replace("@ViewBag.RecipientEmailAddress", notification.RecipientEmailAddress);
notificationBody = notificationBody.Replace("@Model.CLIENT_NAME", notification.ClientName);
//Need to replace the Url.Action
}
このすべてコードが実行ジョブで実行されていますQuartz
私は、Visual Studio
あなたはかみそりの電子メールを生成する(そして最終的にそれを送信)するために呼び出されます、あなたの水晶サービスへのURL(MVCコントローラのアクション)を提供することができます。 –
@StanislavNedeljkovicそしてどうしたらいいですか? – Ragmar
urlが静的でconfigファイルに置かれている場合、動的であればjob paramとして送信します。 –