我收到以下错误
SMTP服务器需要安全连接,或者客户端未经过身份验证。服务器响应为:5.5.1需要身份验证
如何解决这个问题?我的代码:
MailMessage mail = new MailMessage();
mail.From = new MailAddress(FromAddress);
mail.To.Add(email);
mail.Subject = "Forgot Password";
mail.Body = SendMessage;
mail.IsBodyHtml = true;
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
SmtpServer.Port = 587;
SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
NetworkCredential myCreds = new NetworkCredential(EmailUsername, EmailPassword);
SmtpServer.Credentials = myCreds;
SmtpServer.EnableSsl = true;
SmtpServer.UseDefaultCredentials = true;
SmtpServer.Send(mail);
Webconfig如下
<add key="FromAddress" value="xxxxxxx@gmail.com"/>
<add key="EmailUsername" value="xxxxxxx@gmail.com"/>
<add key="EmailPassword" value="Josco@321"/>
更改了我的电子邮件设置,如下所示。
FromAddress和EmailUsername是相同的电子邮件。
答案 0 :(得分:4)
确保您设置SmtpClient.Credentials
AFTER后调用SmtpClient.UseDefaultCredentials = false
。
订单非常重要,因为设置SmtpClient.UseDefaultCredentials = false
会将SmtpClient.Credentials
重置为空。