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

使用Yagmail发送邮件时遇SMTPAuthenticationError报错求助

解决Yagmail连接Google邮箱的SMTPAuthenticationError问题

这个535认证错误是Google邮箱的安全机制导致的——现在Google已经不再允许直接使用邮箱的原始密码登录第三方邮件客户端(比如Yagmail)了,我给你整理了两种解决方案,优先推荐第一种:

推荐方案:使用应用专用密码(最安全)

这是Google官方认可的方式,前提是你的Google账号已经开启了两步验证:

  • 登录你的Google账号,进入「安全」设置页面
  • 找到「应用专用密码」选项(它会在两步验证的下方,只有开启两步验证后才会显示)
  • 选择应用类型为「邮件」,设备随便选一个(比如选「其他」,自定义一个名称即可)
  • 点击生成,你会得到一个16位的密码(不用管中间的空格,直接复制使用)
  • 把你代码里的'admin'替换成这个生成的应用专用密码

修改后的代码示例:

import yagmail

# 注册时使用完整邮箱地址和应用专用密码
yagmail.register('absenceuser@gmail.com', '生成的16位应用专用密码')
# 初始化SMTP时建议带上密码,确保认证流程顺畅
yag = yagmail.SMTP('absenceuser@gmail.com', '生成的16位应用专用密码')
yag.send('samuel.louismarie@gmail.com', 'absence', 'Vous n avez pas declarer vos absences')

注意:你的原代码里yagmail.SMTP('absenceuser')只写了用户名,最好改成完整的邮箱地址(比如absenceuser@gmail.com),避免系统识别出错。

备选方案:开启「不太安全的应用访问」(不推荐)

如果你暂时不想开启两步验证,可以尝试这个选项,但Google已经默认禁用了它,而且会降低账号安全性:

  • 进入Google账号的「安全」设置
  • 找到「不太安全的应用访问」选项,手动开启它
  • 之后你就可以使用邮箱的原始密码进行认证,但这种方式会增加账号被盗的风险,不建议长期使用

最后再检查下:确保你的发送邮箱地址拼写正确,接收邮箱地址也没有错误。

内容的提问来源于stack exchange,提问作者samuel L-M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:15:01