如何解决 google mail 错误“SMTP 服务器需要安全连接或客户端未经身份验证”?

问题描述 投票:0回答:2
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("[email protected]");
mailMessage.To.Add("[email protected]");
mailMessage.Subject = "New Enquiry" ;

mailMessage.Body = "<b>Sender Name : </b>" + txt_name.Text + "<br/>"
    + "<b>Contact Number : </b>" + txt_number.Text + "<br/>"
    + "<b>Sender Email : </b>" + txt_email.Text + "<br/>"
    + "<b>Details : </b>" + txt_message.Text;
mailMessage.IsBodyHtml = true;


SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = 
    new System.Net.NetworkCredential("[email protected]", "Password");
smtpClient.Send(mailMessage);

Response.Write("<Script>alert('Thanks for contact us,our team will be contact you as soon as possible')</Script>");

txt_name.Text = "";
txt_email.Text = "";
txt_number.Text = "";
txt_message.Text = "";

这是我的 ASP.NET C# 代码,用于通过网站的 联系我们 页面发送电子邮件。但出于安全原因,Google 自 2022 年 5 月 30 日起已停止使用安全性较低的应用程序访问选项。所以现在我无法使用上面的代码发送电子邮件。

不太安全的应用程序访问快照:

Less Secure app access snapshot

我该如何处理这个问题以便我可以再次发送电子邮件?

c# asp.net gmail
2个回答
17
投票

https://support.google.com/accounts/answer/6010255

从2022年5月30日起,Google不再支持使用第三方 要求您登录 Google 帐户的应用或设备 只有您的用户名和密码。

重要提示:此截止日期不适用于 Google Workspace 或 Google 云身份客户。这些客户的执行日期 稍后将在 Workspace 博客上公布。

现在您可以管理应用程序密码:

  1. 转到 Gmail 帐户设置,然后单击安全选项卡
  2. 添加两步验证(如果没有)
  3. 点击“应用程序密码”
  4. 选择应用设备或添加新设备
  5. 您将获得在您的应用程序中使用的新密码

在您的应用程序中更改电子邮件密码,然后尝试发送电子邮件


0
投票

尝试使用下面的代码和上面的答案: var smtpClient = new SmtpClient("smtp.gmail.com") { Port = 587,Credentials = new NetworkCredential("gmail emailid", "App Password"), EnableSsl = true,} ;

© www.soinside.com 2019 - 2024. All rights reserved.