毎月クライアントに電子メールで多数のレポートを送信するASP.NETMVCアプリケーションがあります。各電子メールには、毎月の明細書が添付されています。現在、約70のクライアントがいますが、これは時間の経過とともに増えることを願っています。多くの電子メールが送信されないという問題が発生しています。System.Net.MailAPIを使用します。
これが私たちが使用しているコードです、より良いアプローチはありますか?
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();
}