【发布时间】:2016-04-29 10:23:37
【问题描述】:
我正在尝试使用smtplib 设置一个python 脚本,该脚本将通过电子邮件发送警报通知。我不需要任何花哨的东西,所以我想我会坚持基础知识并使用 SMTP 来发送消息。根据众多可用的在线示例之一,我开始尝试这样做
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login('username','password')
但此时失败并显示SMTPAuthenticationError 534,告诉我通过我的网络浏览器登录。当我这样做时,gmail 给我发电子邮件说登录失败,因为它来自“一个不符合现代安全标准的应用程序”。
我看到一些人通过将他们的 gmail 帐户更改为 accept logon from less secure apps 解决了类似的问题,但我自己这样做并继续收到相同的错误消息。
那么普通的旧 SMTP 不会削减它,我需要看中吗?我做错了什么,或者我可以做些什么来完成这项工作?
【问题讨论】:
-
This question 是关于 IMAP,但我怀疑同样的解决方案也适用。建议之一是使用 OAuth 进行身份验证; this question 解决了如何使用 smtplib 做到这一点。
-
启用两因素身份验证,并为此应用程序生成应用程序密码。大约 3 年前,这对我有用