编程语言
首页 > 编程语言> > c# – 有没有办法使用ASP.NET通过Google Apps帐户发送电子邮件而不选择“允许安全性较低的应用”选项?

c# – 有没有办法使用ASP.NET通过Google Apps帐户发送电子邮件而不选择“允许安全性较低的应用”选项?

作者:互联网

我有一个ASP.NET Web API,我正试图用来发送电子邮件.我正在使用smtp.gmail.com和587获取身份验证问题.我看到有几个链接说要在我的Google Apps帐户上切换“允许不太安全的应用”选项,但我宁愿不必向所有者解释为什么他们需要选择这个可疑的声音设置.

有没有办法在ASP.NET中打包一个Google想要的电子邮件请求,还是我必须选择“允许安全性较低的应用程序”选项?

这是我正在使用的Google不喜欢的代码.

using (var client = new SmtpClient("smtp.googlemail.com", 587))
{
    client.Credentials = 
        new System.Net.NetworkCredential("address@yourdomain.com", "yourpassword");
    client.EnableSsl = true;
    var msg = new MailMessage("address@yourdomain.com", "toaddress@anotherdomain.com");
    msg.Body = "[YOUR EMAIL BODY HERE]";
    msg.Subject = "[Message Subject]";

    client.Send(msg);
}

解决方法:

谷歌改变了一段时间(一两年前)使用其SMTP服务器的可能性. Google现在需要更高级别的安全性和身份验证.
但是,如果没有“允许安全性较低的应用”选项,仍有可能使用它,但您无法使用标准的Google用户名和密码.

以下是如何做到这一点(简而言之):

  1. Turn on 2-Step Verification in your gmail or google apps account in “My account / Sign-in & security”,
  2. then (in “My account / Sign-in & security / App passwords”) it is possible to generate a special password for access from other applications (without turned on 2-Step Verification you can not get there)
  3. this created app password (and your google e-mail account as a username) you can then use as your SMTP login.

就这样.

标签:c,asp-net,google-apps
来源: https://codeday.me/bug/20190528/1167534.html