電子メールを送信した後にSMTPをC#で処理する必要がありますか?添付ファイルがなくてもSMTPはC#で処理する必要がありますか?
アプリが起動したときに2回目にSMTP認証エラーが発生します。私はSMTPを処分する必要があるのだろうかと思います。新しいPCでは決して初めてのことですが、同じウィンドウが2回開いていると認証エラーが表示されます。ここに以下のコードがあります。
try{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "FeedBack";
mail.Body = "Text ";
SmtpServer.Port = 587;
SmtpServer.EnableSsl = true;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Credentials = new System.Net.NetworkCredential("[email protected]", "mypassword");
SmtpServer.Send(mail);
SmtpServer.Dispose();
}
catch (Exception)
{
Application.Exit();
this.Close();
}
}
大体の大雑把なルールは、クラスがdisposeメソッドを提供していると思われますが、処分が必要なものがあり、おそらくそれを使うべきです!私はどのように認証エラーが発生するのかわかりませんが、どこでうまく動作する資格証明書があるのでしょうか。実際のエラーメッセージを教えてください。 – Bridge
手動で処理したくない場合は、 'Using(SmtpClient SmtpServer = new SmtpClient(" smtp.gmail.com ")){/ * Your code here * /}'ステートメントを使用してください。 – dcg
@Bridge実際のエラーメッセージ 'SMTPサーバーには安全な接続が必要です。または、クライアントが認証されていません。サーバーの応答は:5.5.1認証が必要です。 ' – Patrick