为什么 gmail 拒绝我的 SMTP 连接?

问题描述

我将我的 gmail 帐户设置为允许“安全性较低的应用程序访问”,并在 python 的 smtplib 中使用 server.starttls() 以确保会话已加密,为什么谷歌仍然定期拒绝我的登录,并显示“请通过以下方式登录”您的网络浏览器,然后重试。了解详情,请访问 https://support.google.com/mail/answer/78754 "

server = smtplib.SMTP(GMAIL_SERVER,GMAIL_PORT)
server.ehlo()
server.starttls()
server.login(GMAIL_USER,GMAIL_PASS)
server.sendmail(GMAIL_USER,[to_address],mime_msg.as_string())
server.close()
logger.info("Email successfully sent")

解决方法

多次使用编程中的 Gmail SMTP 时,您会收到拒绝登录的错误消息。它希望您使用使用 Xoauth2 的浏览器。

另一种方法是尝试使用感染了您真实密码的 apps password。根据我的经验,这往往可以解决问题,通常是当用户启用 2fa 时。