[尝试重设密码时出现身份验证错误-django

问题描述 投票:0回答:1

我尝试通过gmail.com重设密码。我认为我将所有设置都正确,但是仍然无法正常工作,并引发如下错误:as you can see here

settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = os.environ.get('EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PASS')

我设置了环境变量EMAIL_USER(登录到我的gmail帐户)和EMAIL_PASS(当您使用两步身份验证时由Google提供的16位密码-Google App密码)。我尝试过也使用密码登录我的gmail帐户,但这也行不通。有人知道我做错了吗?谢谢你的帮助。

python django web gmail
1个回答
0
投票

将EMAIL_PORT更改为465

EMAIL_PORT = 465

使用smtplib直接连接到gmail stmp服务器,它在端口587上失败,但在465上有效:

server=smtplib.SMTP_SSL('smtp.gmail.com', 465)
account="MY ACCOUNT LOG IN"
password="MY APP PASSWORD"
server.login(account, password) 

返回:

(235, b'2.7.0 Accepted')

但是

server=smtplib.SMTP_SSL('smtp.gmail.com', 587)
account="MY ACCOUNT LOG IN"
password="MY APP PASSWORD"
server.login(account, password)

给出超时错误。 gmail不支持没有SSL的连接:

server=smtplib.SMTP('smtp.gmail.com', 587)
account="MY ACCOUNT LOG IN"
password="MY APP PASSWORD"
server.login(account, password)

返回

smtplib.SMTPNotSupportedError: SMTP AUTH extension not supported by server.
热门问题
推荐问题
最新问题