我正在windows azure上運行一個ASP.Net應用程序,我需要從它發送一封電子郵件。我想使用我的Gmail帳戶如下發送它,但是當我試圖把它,我得到以下錯誤:SMTP服務器需要一個安全連接-gmail
The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at
代碼:
private static readonly string EMAIL_ADDRESS = "[email protected]";
private static readonly string EMAIL_FROM = "MY FROM NAME";
private static readonly string EMAIL_PASS = "my Password";
private static readonly string EMAIL_HOST = "smtp.gmail.com";
private static readonly int EMAIL_PORT = 587;
private static readonly bool EMAIL_SSL = true;
private static readonly SmtpDeliveryMethod EMAIL_DELIVERY_METHOD = SmtpDeliveryMethod.Network;
private static readonly bool EMAIL_DEFAULT_CREDENTIALS = false;
public static void SendEmail(string recipientEmail, string subject, string body) {
var fromAddress = new MailAddress(EMAIL_ADDRESS, EMAIL_FROM);
var toAddress = new MailAddress(recipientEmail, "MY CLIENT NAME");
var smtp = new SmtpClient {
Host = EMAIL_HOST,
Port = EMAIL_PORT,
EnableSsl = EMAIL_SSL,
DeliveryMethod = EMAIL_DELIVERY_METHOD,
UseDefaultCredentials = EMAIL_DEFAULT_CREDENTIALS,
Credentials = new NetworkCredential(fromAddress.Address, EMAIL_PASS,EMAIL_HOST)
};
using (var message = new MailMessage(fromAddress, toAddress) {
Subject = subject,
Body = body,
Priority = MailPriority.High
}) {
smtp.Send(message);
}
}
我已經啓用安全性較低的登錄在,配置似乎很好。問題是什麼?
嘗試將第三個參數留給networkcredentials爲空,也許看看sendgrid或類似的天藍色使用 – jakobandersen
我試過沒有第三個參數,結果相同。如果可能,我寧願保持這一點。這應該從我看到的。 – mangusbrother
也許這是一個副本:http://stackoverflow.com/questions/20906077/gmail-error-the-smtp-server-requires-a-secure-connection-or-the-client-was-not如果你在與Azure數據中心不同的時區 – jakobandersen