[英]ASP.NET C# - Sending Email from Gmail/Yahoo Live SMTP Server not working
我正在努力嘗試從.NET應用程序發送電子郵件。
我已經嘗試了從創建一個新帳戶gmail和yahoo(更改主機為yahoo),以及更改端口使用而不使用mail.To,允許不太安全的應用程序,我也嘗試啟用2步驗證和給予gmail的應用程序密碼,所有這些密碼都失敗並出現相同的捕獲錯誤:{“SMTP服務器需要安全連接或客戶端未經過身份驗證。服務器響應為:5.7.1需要身份驗證”}
這是我的代碼:
SmtpClient smtpClient = new SmtpClient();
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("myemail@gmail.com", "pw");
smtpClient.Credentials = credentials;
smtpClient.UseDefaultCredentials = false;
smtpClient.Port = 587;
smtpClient.EnableSsl = true;
smtpClient.Host = "smtp.gmail.com";
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
MailMessage mail = new MailMessage();
mail.From = new MailAddress("myemail@gmail.com");
mail.To.Add("myemail@gmail.com");
mail.IsBodyHtml = true;
mail.Subject = txtSubject.Text;
mail.Body = txtBody.Text;
try
{
smtpClient.Send(mail);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (mail != null)
{
mail.Dispose();
}
}
解決方案:由於人們將來可能遇到問題,解決方案是刪除代碼行:smtpClient.UseDefaultCredentials = false;
smtpClient.UseDefaultCredentials = false;
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("myemail@gmail.com", "pw");
smtpClient.Credentials = credentials;
按順序使用這些行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.