使用 Python 通过 Gmail 发送邮件报错解决过程
smtplib.SMTPAuthenticationError: (534, b’5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtN\n5.7.14 Qa-eKvu51HQgA471suwlc_V0Xf67BvY4B9Z0BZou-0n-m6x22GNr4EKm9MgkIsa-5zzTpt\n5.7.14 R3sPckC-qgZV4_yqbp7YPiuHVy8I4NNU8JmUP98aaPp-ZR_5S-5LMsQbjgUPaq> Please\n5.7.14 log in via your web browser and then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/answer/78754 o20sm12868828pfp.16 - gsmtp’)
因为谷歌默认不允许通过不安全的应用访问 Gmail 等服务,可以去 “我的帐号” 中把 “不够安全的应用的访问权限” 打开即可。跳转链接如下:
安全性较低的应用的访问权限: https://myaccount.google.com/lesssecureapps
但是,发现设置完后还是报错。网上有人说大概等一个小时就 OK 了,我等了,结果还是报错。
StackOverflow 上有人说:“Your code looks correct but sometimes google block an ip when you try to send a email since a unusual location, so, you can unblock in the next link”。
大概意思是有时谷歌会在你尝试发送电子邮件时屏蔽一个 ip 地址。
解决方法如下:
1、点击此链接: https://support.google.com/accounts/answer/6009563
2、再点击里面的链接: https://accounts.google.com/DisplayUnlockCaptcha
3、填写登录信息,确认完就 OK 了