【发布时间】:2020-06-24 12:34:31
【问题描述】:
我的 asp.net 核心 MVC Web 应用程序中有以下代码,用于使用 google smtp 服务器发送电子邮件:-
MailMessage mail = new MailMessage();
mail.From = new MailAddress("info@***.com");
mail.To.Add(new MailAddress("info@**.com"));
mail.Subject = "New Submission from Web Site";
mail.IsBodyHtml = true;
System.Text.StringBuilder mailBody = new System.Text.StringBuilder();
mailBody.AppendLine("<b>Dear Sirs, </b><br/><br/>");
mailBody.AppendLine(
"New Submission has been submitted from Web site. To view the new submission please click on the link <a href'https://*****/Submissions/details/" + sc.Submission.Id.ToString()
+ " <br/> <span style='font-weight:bold'>Regards</span> <br/> <span style='font-weight:bold'>Web Site</span>"
);
mail.Body = mailBody.ToString();
// Create a new Smpt Client using Google's servers
var smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = true;
smtpClient.Host = "smtp.gmail.com";
smtpClient.Port = 587;
string smtpConn = configuration.GetSection("SMTP").GetSection("pass").Value;
smtpClient.Credentials = new System.Net.NetworkCredential
("info@****.com", smtpConn); // ***use valid credentials***
smtpClient.Send(mail);
但我得到了这个错误:-
SmtpException:SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:需要 5.7.0 身份验证。了解更多信息,请访问
有什么想法吗?虽然我从一台机器上运行该应用程序,但我可以从它登录到 gmail 帐户......
【问题讨论】:
-
确保用户启用了安全性较低的应用程序,同时检查他们的帐户是否禁用了 2fa。如果它仍然无法正常工作,您可能需要添加 developers.google.com/gmail/imap/xoauth2-protocol
标签: iis smtp asp.net-core-mvc gmail