You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java应用配置Gmail SMTP发邮件报535认证失败异常求助

问题根因定位

535-5.7.8 Username and Password not accepted是Gmail SMTP服务的认证失败报错,即便你确认账号密码正确、手动开启过低安全性应用访问,90%以上的情况是Google旧安全规则失效、配置缺项或者网络拦截导致,按以下顺序排查修复:


修复步骤

  • 放弃使用「低安全性应用访问」方案
    Google在2022年5月就已经全面下线了普通Gmail账号的低安全性应用访问权限,目前老页面留存的开关对2022年后新注册账号、开启了两步验证的账号完全不生效,不管开关状态如何,直接用账号登录密码走SMTP认证都会被拦截。

  • 改用应用专用密码做SMTP认证
    这是目前Gmail官方唯一支持的第三方客户端SMTP认证方式:

    • 登录对应Gmail账号,进入安全设置页,先完成「两步验证」的开启(需绑定可用手机号完成身份校验)
    • 两步验证开启后,安全页会自动显示「应用专用密码」入口,进入后应用类型选择「邮件」,设备选择你运行Java程序的对应设备,点击生成即可得到16位随机密码
    • 将配置文件中password字段的值替换为这串16位密码,不要使用原账号的登录密码。
  • 补全JavaMail配置的缺失参数
    你当前的配置缺少鉴权、SSL信任相关的必填参数,补全后参考如下:

    mail:
      host: smtp.gmail.com
      username: 你的完整Gmail邮箱地址
      password: 生成的16位应用专用密码
      port: 465
      protocol: smtps
      properties:
        mail.smtps.auth: true
        mail.smtps.starttls.enable: true
        mail.smtps.ssl.trust: smtp.gmail.com
        mail.smtps.connectiontimeout: 5000
        mail.smtps.timeout: 5000
    
  • 环境连通性与风控排查
    如果以上配置改完仍报错,逐一排查以下问题:

    • 测试网络连通性:在运行Java程序的机器上执行telnet smtp.gmail.com 465,如果端口不通,说明是本地防火墙、运营商网络拦截了SMTP请求,需要换通网的环境或者放行对应端口
    • 企业账号额外检查:如果使用的是Google Workspace企业邮箱,需要找域管理员在后台开启「允许用户生成应用专用密码」的权限,个人普通账号无此限制
    • 风控解锁:如果短时间内多次输错密码、或者登录IP跨区域跳转过快,Google会临时拦截SMTP登录请求,此时进入账号的安全活动记录页,找到被拦截的登录记录手动标记为本人操作,等待10分钟左右重试即可

注意:Gmail已经全面禁止非加密的SMTP连接,不要尝试使用25端口非加密、或者587端口未开TLS的配置,这类请求会被直接拒绝,和账号密码正确性无关。


内容的提问来源于stack exchange,提问作者Peter Shneider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 03:06:09