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

2023-12-10

我有一个 ASP.NET Web API,我试图用它来发送电子邮件。我在使用 smtp.gmail.com 和 587 时遇到身份验证问题。我看到几个链接说要在我的 Google Apps 帐户上切换“允许安全性较低的应用程序”选项,但我不想向所有者解释为什么他们需要选择这个听起来可疑的设置。

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

这是我正在使用的代码,谷歌不喜欢它。

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

    client.Send(msg);
}

Google 不久前(一两年前)改变了使用其 SMTP 服务器的可能性。谷歌现在需要更高级别的安全和身份验证。 但是,仍然可以在没有“允许安全性较低的应用程序”选项的情况下使用它,但您不能使用标准的谷歌用户名和密码。

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

  1. 在“我的帐户/登录和安全”中的 Gmail 或 Google Apps 帐户中打开两步验证,
  2. 然后(在“我的帐户/登录和安全/应用程序密码”中)可以生成一个特殊的密码,以便从其他应用程序访问(如果没有打开两步验证,您将无法到达那里)
  3. 这个创建的应用程序密码(以及您的谷歌电子邮件帐户作为用户名)然后您可以将其用作您的 SMTP 登录名。

就这样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法使用 ASP.NET 通过 Google Apps 帐户发送电子邮件,而无需选择“允许安全性较低的应用程序”选项? 的相关文章

随机推荐