2013-03-03 28 views
1

我的這個Web應用程序使用C#編寫,運行在Windows 2008服務器上的ASP.NET 4.0下。我想從[email protected]向用戶發送電子郵件,但我無法。我正在使用以下方法(使用smtp.gmail.com工作的)並使用System.Net.Mail;在Windows Server 2008上配置SMTP服務器以發送來自Web應用程序的電子郵件

 string from = "[email protected]"; 
     string password = "12345"; 

     MailMessage mail = new MailMessage(); 
     mail.To.Add(to); 
     mail.From = new MailAddress(from); 
     mail.Subject = title; 
     mail.Body = message; 
     mail.IsBodyHtml = true; 

     SmtpClient smtp = new SmtpClient(); 
     smtp.Host = "stmp ip here"; 
     smtp.Port = 25; 
     smtp.Credentials = new System.Net.NetworkCredential(from, password); 
     smtp.EnableSsl = false; 

     smtp.Send(mail); 

我已經安裝和使用基本身份驗證和出站安全配置SMTP服務器 - >基本身份驗證(使用[email protected]和12345作爲密碼)。在我的網站上的IIS7中,我點擊了SMTP電子郵件,並從上面的證書中輸入了我的SMTP服務器的IP地址。

在做所有這些配置之前,我遇到了像郵件卡在隊列文件夾中的問題,服務器不支持ssl連接等。現在,從我的應用程序中記錄發送電子郵件時收到的唯一錯誤:SMTP服務器需要安全連接或客戶端未通過身份驗證。服務器響應是:5.7.3客戶端未被認證,並且電子郵件沒有到達目的地。 隊列文件夾是空的,我沒有從SMTP服務器日誌中的任何錯誤!

我做了很多有關谷歌的研究,但我無法修復它。 Telnet正在運行,25端口沒有被阻塞,禁用windows防火牆也沒有幫助。我很困難。有任何想法嗎?謝謝!

回答

1

聽起來像服務器可能需要您將'EnableSsl'設置爲'true'。因此,您可以嘗試在服務器上禁用此功能,或者在您的客戶端中設置「EnableSSl = true」。您可能需要將端口更改爲587或(有時)465.

+0

當我設置EnableSSL = true時,出現類似「服務器不支持ssl連接」的錯誤。你爲什麼建議改變港口? – osmiumbin 2013-03-03 20:28:52

+0

通常安全的SMTP連接不通過端口25進行。通常它們通過端口587(或有時端口465)。 – CalC 2013-03-03 23:03:59

相關問題