.NET 3.5 を使用した Windows コンソール アプリケーション (既存の .NET 2.0 アプリケーションを .NET 3.5 に変更しました)
私は奇妙な問題を抱えています.電子メールを送信するためのコードは数回(おそらく5〜10回)動作します.
数回後、「メールの送信に失敗しました」というメッセージでメールの送信に失敗します。システムを再起動した後、同じコードが機能します。(これは本番環境で期待されるソリューションではありません)。
これが、この SmtpClient 接続を閉じたところにあると感じたコードの一部です。そのため、クライアントを null に設定し、GC.Collect も呼び出しましたが、役に立ちませんでした。
助けてください
private static void SendEmail(MailMessage msg)
{
SmtpClient client = new SmtpClient(GetSMTPServer(), GetSMTPPort());
client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.EnableSsl = false;
client.ServicePoint.MaxIdleTime = 1;
//client.Timeout = GetSMTPTimeout(); 30000000
client.Send(msg);
client = null;
GC.Collect();
}