2012-01-06 279 views
0

我的MVC Web應用程序時,新用戶獲取與下面的代碼創建發送電子郵件:asp.net的MVC發送電子郵件錯誤:無法發送電子郵件

private static void SendMail(User user) 
     { 
      string ActivationLink = "http://localhost/Account/Activate/" + 
            user.UserName + "/" + user.NewEmailKey; 

      var message = new MailMessage("[email protected]", user.Email) 
      { 
       Subject = "Activate your account", 
       Body = ActivationLink 
      }; 

      var client = new SmtpClient("localhost"); 
      client.UseDefaultCredentials = false; 
      client.Send(message); 
     } 

這有什麼錯我的代碼,請告訴我。

ERROR : Failure sending mail. {"Unable to connect to the remote server"}

SMTP配置: enter image description here

+0

檢查您的郵件服務器。 – SLaks 2012-01-06 14:18:01

+0

你會得到什麼錯誤?你的stmp服務器如何配置? – 2012-01-06 14:18:09

+0

垃圾郵件收件箱中的任何東西? – 2012-01-06 14:18:29

回答

1

下面是此錯誤的可能原因:

1您沒有提供正確的認證細節

2所述的端口被阻塞,例如由防火牆

在你的例子中,我注意到你沒有指定端口,當y ou創建你的SmtpClient - 它可能有助於指定它。

1

Gmail在端口587打開,您需要啓用SSL。

請嘗試下面的代碼。

 var smtp = new SmtpClient 
     { 
      Host = "smtp.gmail.com", 
      Port = 587, 
      EnableSsl = true, 
      DeliveryMethod = SmtpDeliveryMethod.Network, 
      UseDefaultCredentials = false, 
      Credentials = new NetworkCredential(<fromAddress>, <fromPassword>) 
     }; 
     using (var message = new MailMessage(<fromAddress>, <toAddress>) 
     { 
      Subject = <subject>, 
      Body = <body> 
     }) 
     { 
      smtp.Send(message); 
     }