Python3 Gmail發郵件報錯

先貼代碼:

from_addr = 'wisedeve@gmail.com'
password = '*******' # gmail郵箱密碼
to_addr = '18612124664@163.com'
smtp_server = 'smtp.gmail.com'

msg = MIMEText('hello,python', 'plain', 'utf-8')

msg['From'] = _fromat_addr('Python Dev <%s>' % from_addr)
msg['To'] = _fromat_addr('Admin <%s>' % to_addr)
msg['Subject'] = Header('來自SMTP的問候...', 'utf-8').encode()

server = smtplib.SMTP(smtp_server, 587)  # Gmail的SMTP端口是587
server.starttls()
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()

在 python3 中實現用 gmail 郵箱給另一郵箱發送郵件,由于 gmail 郵箱的 SMTP 服務必須要加密傳輸,因此調用 starttls() 方法,創建安全連接。
但是運行之后卻報這樣的錯誤:

錯誤信息

smtplib.SMTPAuthenticationError: (534, b'5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbsd\n5.7.14 DXuFyTBeeat48cnZaaPpb0-4tdxV-XSxdRhw5fwA2ySJG-ja__E2MkXG-CZMWvdSfbVCf8\n5.7.14 0FSnsSFF_tKP4uYWgB-KINh5dXXB0XxM1kz4ubMZKRutAE0dbGOrIRNNKX7GjECR9nSzyw\n5.7.14 0EzedPi7akD_oDfIxr-5J7C3wR-wOjmjc2kmulQZaX853J6cWK_uIlS9XncSv-ax5earoI\n5.7.14 -ZrGV4csHa42kTrC_ixt1s7xpFF5A> Please log in via your web browser and\n5.7.14 then try again.\n5.7.14  Learn more at\n5.7.14  https://support.google.com/mail/answer/78754 197sm7140946pga.58 - gsmtp')

解決方案

根據提示去 gamil 網站找到了解決方案,因為 google 默認不允許通過不安全的應用訪問 gmail 等服務,可以去“我的帳號”中“不夠安全的應用”部分 中把 “不夠安全的應用的訪問權限” 打開即可。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容