我想使用MVC邮件程序 https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide使用 asp.net mvc 3 和 razor 发送电子邮件。还提到过ScottHa http://www.hanselman.com/blog/NuGetPackageOfTheWeek2MvcMailerSendsMailsWithASPNETMVCRazorViewsAndScaffolding.aspx
它看起来相当简单,但是我对如何发送批量电子邮件(例如向用户列表发送新闻通讯)感到困惑。
我要围绕这个创建一个循环吗?
public virtual MailMessage Welcome()
{
var mailMessage = new MailMessage{Subject = "Welcome to MvcMailer"};
mailMessage.To.Add("[email protected] /cdn-cgi/l/email-protection");
ViewBag.Name = "Sohan";
PopulateBody(mailMessage, viewName: "Welcome");
return mailMessage;
}
有人可以解释一下吗?
谢谢
不幸的是,因为每封电子邮件都是个性化的,所以除了循环之外我看不到任何其他方式。因此,只需将您的方法更改为:
public virtual MailMessage Welcome(string email, string name)
{
var mailMessage = new MailMessage{Subject = "Welcome to MvcMailer"};
mailMessage.To.Add(email);
ViewBag.Name = name;
PopulateBody(mailMessage, viewName: "Welcome");
return mailMessage;
}
然后在循环内调用该方法并同时发送它。
重要的提示
您应该将 web.config 设置为使用拾取目录而不是 SMTP 服务器。然后让 IIS 从拾取目录发送电子邮件。
推理 - 因为你可能会打电话SmtpClient.Send(MailMessage mailmessage)
任意多次 - 如果您每次都必须连接到 SMTP 服务器来发送电子邮件,这可能会变得相当昂贵。
这样做的一个很好的副作用是,如果 SMTP 服务器因任何原因关闭或无法访问,您还会获得一些冗余。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)