我的应用程序分为三层:
- 查看 (MVC)
- 业务逻辑(服务)
- 数据(LINQ / SQL)
在我的服务层中,我调用了一个 EmailSender 服务,该服务当前通过 SmtpClient 和 MailMessage 发送纯文本电子邮件。据我所知,相当标准的东西。
我现在尝试通过使用接受 MailMessage 作为模型的 Razor 模板来格式化这些电子邮件的正文,并生成一些我可以粘贴到邮件正文中的 HTML。
现在这就是我所拥有的:
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 传递到此视图并从中生成一个字符串作为电子邮件正文?