首页 >后端开发 >Golang >为什么我会收到 SMTP 身份验证错误 535:Gmail 不接受用户名和密码?

为什么我会收到 SMTP 身份验证错误 535:Gmail 不接受用户名和密码?

Linda Hamilton
Linda Hamilton原创
2024-12-19 02:54:09796浏览

Why Am I Getting SMTP Authentication Error 535: Username and Password Not Accepted with Gmail?

SMTP 身份验证错误 535:Gmail 不接受用户名和密码

当尝试使用提供的功能从本地主机发送电子邮件时,用户可能会遇到以下错误:

smtp error: 535 5.7.8 Username and Password not accepted for gmail...

尽管确保有效的凭据并启用“允许安全性较低的应用程序”,此问题仍然可能发生。

原因

该错误表示使用的身份验证凭据不正确或未经授权。 Google 最近实施了更严格的安全措施,可以阻止某些应用发送电子邮件。

解决方案

要解决此问题,建议:

  1. 启用 2 因素身份验证(2FA)
  • 导航至 https://myaccount.google.com/security 并启用 2FA(如果尚未启用)。
  1. 生成应用程序密码
  • 访问 https://security.google.com/settings/security/apppasswords
  • 为设备和应用程序选择“邮件”选项
  • 生成一个16位的App密码

使用应用密码

将SMTP验证码中的常规密码替换为生成的应用密码。更新后的代码将如下所示:

err = smtp.SendMail("smtp.gmail.com:587",
        smtp.PlainAuth("", from, appPassword, "smtp.gmail.com"),
        from, []string{to}, []byte(msg))

注意:应用程序密码提供对特定于应用程序或设备的 Google 帐户的受限访问。

以上是为什么我会收到 SMTP 身份验证错误 535:Gmail 不接受用户名和密码?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn