これが私のコードです
for(int i = 0; i < number ; i++)
{
MailAddress to = new MailAddress(iMail.to);
MailAddress from = new MailAddress(iMail.from, iMail.displayName);
string body = iMail.body;
string subject = iMail.sub;
oMail = new MailMessage(from, to);
oMail.Subject = subject;
oMail.Body = body;
oMail.IsBodyHtml = true;
oMail.Priority = MailPriority.Normal;
oMail.Sender = from;
s = new SmtpClient(smtpServer);
if (s != null)
{
s.Send(oMail);
}
oMail.Dispose();
s = null;
}
このループは60,000を超える電子メールを送信します。しかし、私の問題は、一部の電子メールで「メールの送信に失敗する」というメッセージが5000回発生し、残りの電子メールが配信される時間よりも短い時間です。そして、私はそれらすべてのエラーアウトメールが有効なメールアドレスを持っていることを確認しました。何が問題なのかわからない。私は本当にこれで助けが必要です。
編集:これは私の例外トレースです
エラー-メールの送信に失敗しました。; 内部例-System.IO.IOException:トランスポート接続からデータを読み取ることができません:net_io_connectionclosed。System.Net.Mail.SmtpReplyReaderFactory.ProcessRead(Byte [] buffer、Int32 offset、Int32 read、Boolean readLine)at System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller、Boolean oneLine)at System.Net.Mail.SmtpReplyReaderFactory .ReadLine(SmtpReplyReader caller)at System.Net.Mail.CheckCommand.Send(SmtpConnection conn、String&response)at System.Net.Mail.MailCommand.Send(SmtpConnection conn、Byte [] command、String from)atSystem.Net。 Mail.SmtpTransport.SendMail(MailAddress送信者、MailAddressCollection受信者、文字列deliveryNotify、SmtpFailedRecipientException&例外)