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

Python 尝试重置密码时出现身份验证错误-django,python,django,web,gmail,Python,Django,Web,Gmail,我尝试用gmail.com重置密码。我想我把一切都设置正确了,但它仍然不起作用,并产生如下错误: 设置.py 我设置了我的环境变量EMAIL\u USER(登录我的gmail帐户)和EMAIL\u PASS(使用两步认证时谷歌提供的16个签名密码-谷歌应用程序密码)。我也尝试过使用我的gmail帐户密码,但这也不起作用。有人知道我做错了什么吗?谢谢你的帮助 将电子邮件端口更改为465 EMAIL_PORT = 465 使用smtplib直接连接到gmail stmp服务器时,端口587出现故障

我尝试用gmail.com重置密码。我想我把一切都设置正确了,但它仍然不起作用,并产生如下错误:

设置.py


我设置了我的环境变量
EMAIL\u USER
(登录我的gmail帐户)和
EMAIL\u PASS
(使用两步认证时谷歌提供的16个签名密码-谷歌应用程序密码)。我也尝试过使用我的gmail帐户密码,但这也不起作用。有人知道我做错了什么吗?谢谢你的帮助

将电子邮件端口更改为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.

我不使用django默认值发送电子邮件,我使用smtplib连接到SMTP服务器和电子邮件模块以生成电子邮件。但是我的SMTP服务器端口是465(对于gmail),所以试试看??如果不起作用,请尝试直接连接到SMTP服务器:打开python,然后导入smtplib服务器=smtplib.SMTP\U SSL('SMTP.gmail.com',465)account=os.environ.get('EMAIL\u USER')password=os.environ.get('EMAIL\u PASS')server.login(帐户,密码)看看这是否正确。只需检查一下:您的gmail帐户是否有可能启用了MFA?@dirkgroten是的,MFA已启用。我生成了这个16号密码,并尝试使用它登录。但正如我在gmail帐户上看到的,它还没有被使用,所以有些地方出了问题。请注意,显示的密码中有破折号(
-
),以便于阅读,但您不能在代码中加破折号。@dirkgroten是的,我知道。我试着把它写成一个连续表达式以及4个符号部分除以空格,但都不起作用。如果设置
EMAIL\u USE\u TLS
,Django使用的不是
smtplib.SMTP\u SSL
,而是
smtplib.SMTP
。然后在登录()之前执行
starttls()
。端口587是正确的。有关实现的详细信息,请参阅django.core.mail.backends.smtp.EmailBackend.open()
smtplib.SMTPNotSupportedError: SMTP AUTH extension not supported by server.