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

使用Google SMTP服务器(已用应用密码)仍报用户名密码不接受错误

问题描述

尝试配置Spring Boot应用通过Google SMTP服务器发送通知,已生成App Password,但发送时始终提示认证失败。

应用配置(application.yaml)

mail:
    host: smtp.gmail.com
    port: 587
    username: <username>
    password: <app-password>
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
        debug: true

控制台错误日志

DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false
220 smtp.gmail.com ESMTP z21-20020a19f715000000b004eb44dae858sm1433785lfe.52 - gsmtp
DEBUG SMTP: connected to host "smtp.gmail.com", port: 587
EHLO Igor-PC
250-smtp.gmail.com at your service, [37.145.40.200]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
DEBUG SMTP: Found extension "SIZE", arg "35882577"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "CHUNKING", arg ""
DEBUG SMTP: Found extension "SMTPUTF8", arg ""
STARTTLS
220 2.0.0 Ready to start TLS
EHLO Igor-PC
250-smtp.gmail.com at your service, [37.145.40.200]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
DEBUG SMTP: Found extension "SIZE", arg "35882577"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH"
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "CHUNKING", arg ""
DEBUG SMTP: Found extension "SMTPUTF8", arg ""
DEBUG SMTP: protocolConnect login, host=smtp.gmail.com, user=<username>, password=<non-null>
DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM XOAUTH2 
DEBUG SMTP: Using mechanism LOGIN
DEBUG SMTP: AUTH LOGIN command trace suppressed
DEBUG SMTP: AUTH LOGIN failed
30959 [http-nio-9000-exec-1] WARN  o.a.a.s.u.RestorePasswordServiceImpl - Authentication failed; nested exception is javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials z21-20020a19f715000000b004eb44dae858sm1433785lfe.52 - gsmtp

多次重置App Password仍无法解决,请问问题出在哪里?


解决方案

按以下步骤逐一排查:

  • 确认两步验证已开启:生成App Password的前提是Google账户必须开启两步验证,未开启的话生成的密码无效。
  • 核对App Password生成参数:生成时应用类别选「Mail」,设备选「Other (Custom name)」,确保生成的是适用于邮件服务的密码。
  • 检查用户名和密码格式:用户名必须是完整的Gmail邮箱地址(如xxx@gmail.com),App Password是16位无空格字符串,避免复制时带入多余字符。
  • 补充SMTP安全配置:在application.yaml中添加SSL信任及超时配置,优化连接稳定性:
    mail:
      properties:
        mail:
          smtp:
            ssl:
              trust: smtp.gmail.com
            connectiontimeout: 5000
            timeout: 5000
            writetimeout: 5000
    
  • 检查账户安全状态:登录Google账户安全中心,确认近期是否有异常登录拦截,若有需允许当前设备/IP的访问。
  • 升级JavaMail版本:确保spring-boot-starter-mail依赖的JavaMail为最新稳定版,旧版本可能存在认证兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 00:15:08