javax.mail.AuthenticationFailedException: 535-5.7.8 不接受用户名和密码

2022-08-31 17:05:27

当我尝试使用 JavaMail API 发送邮件时,我收到此错误:

javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted

我该如何解决这个问题?


答案 1

很抱歉来晚了,如果您使用的是Gmail服务器,这些可能是您的任务中的问题。

  1. 应关闭两步验证
  2. 允许安全性较低的应用程序(应打开)。
  3. 请检查您的用户名和密码。
  4. 检查代码(这是我的问题),以上三个你可以改变从谷歌帮助中心和你自己最后一个我的经验,我可以与你分享。在传递邮件之前,您需要对邮件服务器进行身份验证,因为它是您通过邮件进行通信的质询响应系统。我正在共享代码片段文件,您可以参考,无法通过ctrl + K格式化我的代码。

答案 2

这对我有用:

  1. 登录到您发送邮件的gmail帐户
  2. 转到管理您的 Google 帐号 - >安全 - >安全性较低的应用访问权限 - >启用访问权限(不推荐)

    访问网址:
    https://www.google.com/settings/security/lesssecureapps
  3. 将“允许安全性较低的应用:关”更改为“允许安全性较低的应用:开”

更新:谷歌从2022年5月30日起停止支持“安全性较低的应用程序”。

解决此问题的替代方法之一是使用两步验证并生成应用密码:

  1. Google 帐号 - >安全 - >两步验证 - >按要求输入密码 - >开启(您可以使用短信获取 Gmail 代码以激活两步验证)
  2. Google 帐户 - >安全 - > 应用密码 -> 按要求输入密码 -> 选择应用和设备... -> 例如 其他(自定义名称) -> 输入应用名称,例如 MyApp -> 生成
  3. 复制 16 个字符的密码
  4. 在应用中将 16 个字符的密码与 Gmail 用户名结合使用

谷歌支持链接在这里


推荐