Django:重置密码不发送电子邮件

标签 django smtp gmail django-authentication django-email

我正在使用 Django 密码重置。

我的 中有此代码设置.py :

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'myusername@gmail.com'
EMAIL_HOST_PASSWORD = 'mypassword'
DEFAULT_FROM_EMAIL = 'myusername@gmail.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
SERVER_EMAIL = 'myusername@gmail.com'

它会将我重定向到正确的页面,但它不会发送电子邮件。我检查了垃圾邮件文件夹等,但仍然没有:(

任何想法都非常感谢!

编辑

我尝试使用控制台对其进行测试,但出现以下错误:
>>> email = EmailMessage('Mail test', 'this is a test', to=['myusername@gmail.com'])
>>> email.send()

Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/message.py", line 255, in send
return self.get_connection(fail_silently).send_messages([self])
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 88, in send_messages
new_conn_created = self.open()
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 55, in open
self.connection.login(self.username, self.password)
File "/usr/lib/python2.7/smtplib.py", line 576, in login
raise SMTPException("SMTP AUTH extension not supported by server.")

SMTPException: SMTP AUTH extension not supported by server.

编辑

我的 settings.py 配置如上。出于某种原因,它以前不起作用,但现在似乎起作用了。当我跑
python manage.py shell

并使用 EmailMessage 和 send() 函数对其进行测试,我得到状态代码 1,并且我收到了电子邮件。但是,我仍然没有从 password_reset 收到电子邮件。有任何想法吗?谢谢各位的意见!

最佳答案

当您在 Django shell 中进行发送测试时,这意味着您的电子邮件设置配置良好。

如果您仍未收到来自 的电子邮件密码重置你必须在这个领域搜索你的问题。

您必须知道密码重置电子邮件仅发送给事件用户 (is_active),并且仅当他们拥有可用密码 (has_usable_password) 时才发送。

如果用户的密码无效,Django 只会 默默地不发送重置电子邮件。

在 Django shell 中使用以下代码来测试所有用户:

from django.contrib.auth import get_user_model

[(u.email, u.is_active, u.has_usable_password()) for u in get_user_model().objects.all()]

关于Django:重置密码不发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20325729/

相关文章:

python - Django INSTALLED_APPS 中的点路径无法导入

Java无法发送带有图像的html电子邮件

php - 如何在电子邮件主题中添加链接(gmail)

java - 问题出在我的 java 代码中还是 SMTP 服务器中? 452 4.5.3 使用 java 通过 SMTP 发送邮件时出现收件人过多错误

perl - 当我尝试使用 MIME::Lite 向 Gmail 帐户发送电子邮件时,为什么会收到 "SMTP Failed to connect to mail server:"?

linux - DKIM : Signature header exists but is not valid

asp.net - 如何从 hotmail、live、gmail、yahoo 导入联系人

python - 在 Django 1.3 media_url 与 static_url 中显示样式

python - 静态字段在 django 1.11 中不加载

python - 在 Django 中建模复杂的关系