C#mvcを使用して基本的な電子メールを送信しようとしています...何らかの理由で機能しません..さまざまな解決策を試しましたが、ブラウザで「操作がタイムアウトしました」という同じエラーが発生し続けます。接続の問題。エラーは"client.Send(mail);で始まります。ローカルマシンでこれを実行しています。ポート587,465,995,25を使用してみましたが、うまくいきませんでした。VisualStudioのコンパイラで、ビルド時にエラーが発生しません。I Webブラウザのオンライン"client.Send(mail);"でエラーが発生するだけです。
コントローラ:
public void SendEmail(History hi)
{
SmtpClient client = new SmtpClient(); //server type
client.Port = 587;
client.Host = "smtp.gmail.com"; //google
client.EnableSsl = true; //SSl set to true
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("papasmurf985@gmail.com", "******");
MailMessage mail = new MailMessage("papasmurf985@gmail.com", "papasmurf985@gmail.com", "Test Score", "Your score is" + hi.score);
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
client.Send(mail);
}
web.config:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network host="smtp.gmail.com" port="587" />
</smtp>
</mailSettings>
</system.net>
web.configでもこれを試しました:
<system.net>
<mailSettings>
<smtp from="no-reply@no-reply.com">
<network host="smtp.gmail.com" port="587" enableSsl="true"
userName="papasmurf985@gmail.com" password="PASSWORD" />
</smtp>
</mailSettings>
</system.net>