我们有一个 ASP.NET MVC 应用程序,它每月通过电子邮件向客户发送大量报告。每封电子邮件都附有月结单。目前我们有大约 70 个客户,但随着时间的推移,这个数字有望增加。我们一直看到一些电子邮件没有被发送的问题。我们使用 System.Net.Mail API。
这是我们正在使用的代码,有更好的方法吗?
foreach(string client in clients){
SmtpClient client = new SmtpClient("server.com");
BackgroundWorker emailInvoker = new BackgroundWorker();
emailInvoker.DoWork += delegate
{
// Delay to prevent flow control, try later Relay error
Thread.Sleep(TimeSpan.FromSeconds(2));
client.Send(message);
}
emailInvoker.RunWorkerAsync();
}