2010-07-03 78 views
-1

我得到以下異常而實現郵件功能爲我的本地機器,請幫我這個SMTP例外,同時實現電子郵件功能

的SMTP服務器要求安全連接 或客戶端是不是 認證。服務器響應 是:5.7.0必須首先發出STARTTLS 命令。 21sm1768418wfi.5

+0

哪種語言是您使用?這將有助於我們爲您的例外提出一個可能的解決方案。 – Alan 2010-07-03 06:54:50

+0

我在asp.net中實現它... – NoviceToDotNet 2010-07-03 07:03:20

+0

請發佈您的問題的SSCCE,而不僅僅是錯誤消息。 http://sscce.org/ – 2013-01-11 20:31:59

回答

1

正如消息描述的那樣。

除了提供用戶名&密碼之外,您嘗試連接的任何SMTP服務器都要求您爲該連接使用SSL。

通過SSL的SMTP通常發生在端口465上,但是您需要使用郵件提供商驗證此設置。

所以你需要指定正確的端口,並指定UseSSL標誌。

使用C#這可能是這樣的:

MailMessage mail = new MailMessage(); 
SmtpClient SmtpServer = new SmtpClient("smtp.emailserver.com"); 

mail.From = new MailAddress("[email protected]"); 
mail.To.Add("[email protected]"); 
mail.Subject = "Test Mail"; 
mail.Body = "This is a test message"; 

SmtpServer.Port = 465; 
SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password"); 
SmtpServer.EnableSsl = true; //<--- this will do SSL for you. 

SmtpServer.Send(mail);