0

コメント「//stmp.timeout」を削除すると、タイムアウト エラーが発生します。それを修正するにはどうすればよいですか?

これが私のコードです:

public ActionResult Index(EmailModel model)
{
    var smtp = new System.Net.Mail.SmtpClient();
    {
        smtp.Host = "smtp.gmail.com";
        smtp.Port = 180;
        smtp.EnableSsl = true;
        smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
        smtp.Credentials = new NetworkCredential("sheikh.abm@gmail.com ","somepassword");
        //smtp.Timeout = 20000;
    }
    try
    {
        smtp.Send("sheikh.abm@gmail.com",model.To, model.Subject, model.Message);
        return View("Index");
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex);   //Should print stacktrace + details of inner exception
         if (ex.InnerException != null)
         {
             Console.WriteLine("InnerException is: {0}", ex.InnerException);
         }
    }
    return View("Index");
4

1 に答える 1

1

この行で

smtp.Credentials = new NetworkCredential("sheikh.abm@gmail.com ","somepassword

の後にスペースがありgmail.comます。これにより、Gmailへのログインが妨げられる可能性があります。それを除く。
また、Gmailにメールを送信するために使用されるポートは、SSLの場合は465、TLS/STARTTLSの場合は587だと思います。

smtp.Port = 465;   
于 2012-07-25T21:18:38.463 に答える