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

开启谷歌邮箱两步验证后用应用密码发邮件遇SMTP认证错误

Gmail两步验证下SMTP认证失败问题排查

问题描述

我给谷歌邮箱开启了两步验证,也设置了应用密码,但运行Python代码发送邮件时仍出现认证错误。(注:示例中的用户名和密码为占位符,实际使用了有效信息)

代码示例

def send_email(message):
   host = 'smtp.gmail.com'
   port = 465

   username = 'example.com'
   password = "jpcimnjhfjelzwds"

   reciever = 'example1.com'
   context = ssl.create_default_context()

   with smtplib.SMTP_SSL(host, port, context=context) as server:
       server.login(username, password)
       server.sendmail(username, reciever, message)

if __name__ == "__main__":
   send_email()

错误信息

smtplib.SMTPAuthenticationError: (535, b'5.7.8 用户名和密码不被接受。\n5.7.8 u3-20020ac24c23000000b004f75661a7e6sm583437lfq.36 - gsmtp')

解决建议

  • 核对应用密码生成逻辑:必须在开启两步验证后,在谷歌账号安全设置中生成针对邮件服务的应用密码,不要混用其他服务的应用密码。
  • 检查用户名格式:Gmail的SMTP登录用户名必须是完整的邮箱地址(如xxx@gmail.com),不能仅填写域名部分。
  • 确认应用密码输入无误:应用密码是16位无空格的字符串,复制粘贴时避免多带空格或遗漏字符。
  • 排查账号安全状态:登录Gmail网页版,查看是否有未处理的安全拦截提示,或当前IP是否被标记为异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:52:40