Gmail SMTP 发送 - 535-5.7.8 用户名和密码不被接受

问题描述 投票:0回答:2

我在使用 Java 应用程序从 Gmail 帐户发送电子邮件时遇到问题。

我编写了简单的 Java 代码来从我的应用程序发送电子邮件。我已打开 MFA,并创建了应用程序密码,并在代码中使用它。当我执行代码时,我收到消息

javax.mail.AuthenticationFailedException:535-5.7.8 用户名和密码不被接受。了解更多信息,请访问 535 5.7.8 https://support.google.com/mail/?p=BadCredentials ft13-20020a17090b0f8d00b0022630ba1c80sm1576429pjb.42 - gsmtp

我相当确定错误消息与代码问题无关(但我知道什么?),并且我已多次仔细检查凭据以确保它们正确。我试图了解还有什么可能是问题。如果有任何建议或需要检查的事情,我将不胜感激。

smtp gmail
2个回答
10
投票

用户名和密码不被接受

这是当您尝试连接到 Google 的 SMPT 服务器并尝试使用用户实际的 google 密码时的标准错误消息。

截至 2022 年 5 月 30 日,谷歌已删除了不太安全的应用程序选项。无法打开它,因为它不再存在。

你有两个选择

  1. 在您的 Google 帐户上启用 2fa 并创建一个 apps 密码,并在代码中使用它代替您的真实密码。
  2. 切换到使用 Xoauth2 大多数库都支持它。但这取决于您使用的语言。

快速修复 SMTP 用户名和密码不接受错误


0
投票

编辑 2024 年 1 月:

2024 年 9 月 30 日开始,Google Workspace 将不再支持要求用户共享 Google 用户名和密码的第三方应用或设备的登录方法(“安全性较低的应用访问”选项)。

公告:https://workspaceupdates.googleblog.com/2023/09/winding-down-google-sync-and-less-secure-apps-support.html


原答案:

不确定是否是因为我的帐户是 Google Workplace 的一部分,但是 截至 2023 年 11 月,我仍然可以访问 “不太安全的应用访问”选项:

正如图片中的消息所示,Google 最终会自动将其关闭,并且在尝试使用 SMTP 登录时会出现消息

“535-5.7.8 用户名和密码不被接受”重新启用它的过程非常简单:

登录您的 Google 帐户
  1. 转到“管理您的 Google 帐户”
  2. 转到“安全”
  3. 转到“安全性较低的应用程序访问”
  4. 打开它
  5. 为了不要忘记这一点,当我在应用程序中捕获异常时,我将进程记录到标准输出中:

with SMTP(SMTP_CONN_STRING) as smtp: try: smtp.ehlo() smtp.starttls() smtp.ehlo() smtp.login(SMTP_USERNAME, SMTP_PASSWORD) except SMTPAuthenticationError as e: logging.info(str(e)) logging.info( "⚠️ Google automatically turned off the security option to log in" " with a username and a password." ) logging.info( "⚠️ To enable it again: Log in to the Google account >" " Manage your Google account > Security > Less secure app access > Turn in on" )

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