私のアプリケーションは 3 つの層に分かれています。
- ビュー (MVC)
- ビジネスロジック (サービス)
- データ (LINQ/SQL)
私のサービス層全体で、現在 SmtpClient と MailMessage を介して平文の電子メールを送信する EmailSender サービスへの呼び出しがあります。私が知る限り、かなり標準的なもの。
私は現在、MailMessage をモデルとして受け入れ、メッセージの本文に挿入できる HTML を生成する Razor テンプレートを使用して、これらの電子メールの本文をフォーマットしようとしています。
今、これは私が持っているものです:
public void SendAsyncEmail(MailMessage message)
{
message.IsBodyHtml = true;
message.body = {generate html string from body here using razor?}
// Async code here
}
次のようなかみそりビューを定義するとします。
@model System.Net.Mail.MailMessage
<div>
<h1>@Model.Subject</h1>
<p>@Model.Body</p>
</div>
サービス メソッドからこのビューに MailMessage を渡し、そこから電子メールの本文の文字列を生成するにはどうすればよいですか?