Asp.net
在 Asp.Net 中使用 Office365 SMTP 時出錯
我正在使用 Office365 Web 應用程序 SMTP 從 Asp.Net 發送電子郵件,但它總是拋出以下錯誤!
System.Net.Mail.SmtpException:SMTP 伺服器需要安全連接或客戶端未通過身份驗證。伺服器響應為:5.7.1 客戶端未在 System.Net.Mail.MailCommand.CheckResponse 進行身份驗證
下面給出了 web.config - 更改了使用者名和密碼
<network enableSsl="true" host="pod51007.outlook.com" userName="XXXX" password="XXXXX" port="587" defaultCredentials="false" />
我認為錯誤消息具有誤導性(與大多數 Microsoft 錯誤一樣!) - 錯誤程式碼看起來非常類似於 SMTP 錯誤,而 5.7.1 是中繼錯誤。您可能需要使用 Microsoft 提供的管理門戶指定您的開發/生產公共IP 地址。
我有同樣的問題並解決了:
Dim client As SmtpClient = New SmtpClient() client.Credentials = New System.Net.NetworkCredential("your user", "your password") client.Port = 587 client.Host = "smtp.office365.com"這條指令很重要,沒有它們是行不通的:
client.UseDefaultCredentials = False client.DeliveryMethod = SmtpDeliveryMethod.Network client.EnableSsl = True