使用网络邮件与不同的身体同时发送多封电子邮件

时间:2014-02-20 19:31:35

标签: c# email c#-4.0 smtp webmail

我在mvc5中使用WebMail,我现在有条件向多个用户发送电子邮件,每个用户的电子邮件正文将与其他用户不同。如果我使用循环发送它们,那么返回View会花费很多时间。那么,在这种情况下,最好的解决方案是什么?

以下是发送单个电子邮件的代码

 WebMail.SmtpServer = "smtp";
        WebMail.SmtpPort = 25;
        WebMail.UserName = "myemail";
        WebMail.From = "senderemail";
        WebMail.Password = "mypassword";
        WebMail.Send(to,
            "subject",
            "body");

1 个答案:

答案 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);
  });

}