【发布时间】:2017-08-13 12:30:32
【问题描述】:
我收到以下错误
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 是相同的电子邮件。
【问题讨论】:
-
与您的问题没有直接关系,但 MailMessage 和 SmtpClient 都实现了 IDisposable,特别是在 SmtpClient 的情况下,如果您不处置,实际上可能会耗尽资源。
-
请务必更改问题中显示的密码 ;-)
标签: asp.net asp.net-mvc