SMTPSenderRefused: (530, ‘5.5.1 Authentication Required. Learn more at \n5.5.1


在跟着《Flask Web開發:基於Python的Web應用開發實戰》一書學習時,出現了以上錯誤提示。

問題出於第11章——博客文章。當運行

python manage.py runserver

后,在瀏覽器中打開localhost:5000,進入博客首頁,然后在右上角點擊login,然后點擊register。填寫注冊信息后,系統會發送一封確認注冊信息的電子郵件到注冊的郵箱,但進入注冊郵箱查看,並未收到郵件,然后查看runserver服務器返回的信息,除了上面有一長串的返回信息及錯誤文件路徑外,最下面的,就是本文標題中所出現的錯誤提示,完整提示如下:

SMTPSenderRefused: (530, ‘5.5.1 Authentication Required. Learn more at \n5.5.1 https://support.google.com/mail/answer/14257 f14sm8290713ioi.2 – gsmtp’, ‘Flasky Admin <flasky@example.com>’)

而如果注冊信息沒有能從郵箱中確認,則書本后續的代碼效果將無法進行查看,即所寫代碼將無從驗證。因此該問題必須解決,方可進行下一步學習。

由以上錯誤提示可知,系統要求認證,對用於發送郵件的賬號的認證。我們要做的,即是找出SMTP的配置信息。查看代碼目錄,可在flask根目錄中發現有一個名為config.py的文件,明顯該文件即配置信息所在。由於我們學習時,曾進行git checkout操作用書本源碼替換掉自己的代碼,因此懷疑錯誤即由作者的配置與我本機(郵件賬戶)信息不一致所至。因此打開該文件進行編輯:

config配置代碼

上圖中8-15行即為基本配置信息,可看到作者的默認配置為gmail的配置:

MAIL_SERVER = ‘smtp.googlemail.com’
MAIL_PORT = 587

最重要的在於這兩行配置,前者設置了郵件服務器地址,后者為郵件服務器端口。因在大陸使用gmail容易出問題,因此我們應改為國內的郵件服務器進行測試學習。我將其改為新浪郵箱服務器的地址和默認端口:

MAIL_SERVER = ‘smtp.sina.com’
MAIL_PORT = 25

config.py配置文件中,第11/12/15行分別為管理員賬戶(即你是用這個郵箱賬戶發郵件給注冊人的)的信息,即用於認證的信息。所以郵件服務器改完后,還應該配置這幾行信息。配置方法在書本第6章——電子郵件中有說明,可參考第60頁和第62頁。

以上修改完畢后,再運行

python manage.py runserver

然后再點擊發送電子郵件,就可以在注冊郵箱中收到驗證郵件了。注意查看垃圾箱


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM