我正在嘗試使用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