我尝试通过gmail.com重设密码。我认为我的设置都正确,但是仍然无法正常工作,并引发如下错误:
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帐户,但这也行不通。有人知道我做错了吗?谢谢你的帮助。
答案 0 :(得分: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.