我正在尝试使用smtplib
来设置一个python脚本,它会通过电子邮件发送警报通知。我不需要任何花哨的东西,所以我想我会坚持基础知识,并使用SMTP来传递消息。下面的许多网上提供一个例子,我试图这样做开始使用smtplib从Gmail发送
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login('username','password')
,但在这一点上失败的SMTPAuthenticationError 534
,告诉我,通过我的网络浏览器登录。当我这样做时,gmail发邮件给我说,登录失败,因为它来自“一个不符合现代安全标准的应用程序”。
我见过一些人有类似的问题,通过更改他们的gmail帐户到accept logon from less secure apps解决,但自己做了这个,并继续得到相同的错误信息。
所以是普通的SMTP不会削减它,我需要看中?我做错了什么,或者我能做些什么来完成这项工作?
[这个问题](http://stackoverflow.com/q/25413301/113848)是关于IMAP,但我怀疑同样的解决方案适用。其中一个建议是使用OAuth进行身份验证; [这个问题](http://stackoverflow.com/q/11445523/113848)解决如何用smtplib做到这一点。 – legoscia
启用双因素身份验证,并为此应用程序生成应用程序密码。这对我来说大约在3年前 – inspectorG4dget