Google 正在推动我们提高脚本访问其 gmail smtp 服务器的安全性。对于那件事我没有任何疑问。事实上,我很乐意提供帮助。
但他们并没有让它变得容易。建议我们 Upgrade to a more secure app that uses the most up to date security measures
很好,但这并不能帮助我弄清楚如何升级如下所示的代码:
server = smtplib.SMTP("smtp.gmail.com", 587)
server.ehlo()
server.starttls()
server.login(GMAIL_USER, GMAIL_PASSWORD)
server.sendmail(FROM, TO, MESSAGE)
server.close()
当然,我会打开“访问安全性较低的应用程序”,但如果有人想出用什么替换此代码,我将不胜感激。
原文由 John Mee 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python 3 和 GMail 当前 API 的更新示例如下。
请注意,要获取下面的
credentials.json
文件,您需要在选择相关 GCP 项目后 在此处 创建一个 Oauth 客户端 ID 凭证。创建它后,您将看到客户端密钥和客户端机密。关闭该提示,然后单击帐户旁边的向下箭头。这是您需要的文件。