我在mvc5中使用WebMail,我现在有条件向多个用户发送电子邮件,每个用户的电子邮件正文将与其他用户不同。如果我使用循环发送它们,那么返回View会花费很多时间。那么,在这种情况下,最好的解决方案是什么?
以下是发送单个电子邮件的代码
WebMail.SmtpServer = "smtp";
WebMail.SmtpPort = 25;
WebMail.UserName = "myemail";
WebMail.From = "senderemail";
WebMail.Password = "mypassword";
WebMail.Send(to,
"subject",
"body");
答案 0 :(得分:0)
这样的事情会是最快的,所以你只需要设置一次非特定的东西。 您实际上是在发送不同的电子邮件,如果正文是相同的,我会使用bcc或cc。
void Send(IDictionary<string, string> emailDetails, string subject)
{
WebMail.SmtpServer = ConfigHelper.SmtpServer;
WebMail.SmtpPort = ConfigHelper.SmtpPort;
WebMail.UserName = ConfigHelper.EmailUserName;
WebMail.From = ConfigHelper.EmailFrom;
WebMail.Password = ConfigHelper.Password;
emailDetails.ToList().ForEach( e =>
{
WebMail.Send(e.Key,
subject,
e.Value);
});
}