我在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帐户的计算机上运行该应用程序...
答案 0 :(得分:0)
SmtpException:SMTP服务器需要安全连接,或者 客户端未通过身份验证。服务器响应为:5.7.0 需要验证。了解更多信息
遇到此错误时,可能是由于以下情况引起的
密码错误,解决方案:只需输入正确的密码即可。
当您尝试从某个应用登录时。
解决方案:转到this link的安全设置,并启用安全性较低的应用。
通常在您尝试从其他时区或IP地址计算机登录时发生。生产服务器和您使用的电子邮件ID在不同的时区。
针对这种情况,有两种解决方案:
通过远程访问登录生产服务器,然后登录
gmail用您的凭据一次。他们会要求确认,
确认并注销。
或登录gmail到您的本地计算机,按照this Link和
选择review this activity并采取适当的措施。
如果您无权访问生产服务器,请尝试:
您必须为您的Google帐户启用从其他时区/ ip登录。
要执行此操作,请点击链接https://g.co/allowaccess,然后单击继续按钮以允许访问。
更多详细信息,您可以参考this discussion。