【问题标题】:Password Reset Email Not Being Sent in Django密码重置电子邮件未在 Django 中发送
【发布时间】:2020-09-26 10:17:13
【问题描述】:

首先,我想澄清一下,我已经在 Stack Overflow 上查看了与此相关的所有其他问题,但我无法解决该问题。

所以,我遇到的问题是我没有在我的网站上收到密码重置电子邮件,即使一切都表明电子邮件已发送。我这样说是因为我在屏幕上收到了电子邮件已发送的确认信息,并且我还在控制台中看到了电子邮件(见下文)。

这是我的电子邮件设置:

EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
EMAIL_USE_TLS = True
EMAIL_HOST = "localhost"
EMAIL_PORT = 25
EMAIL_HOST_USER = os.environ.get("EMAIL_ADDRESS")
EMAIL_HOST_PASSWORD = os.environ.get("EMAIL_PASSWORD")

这是我的密码重置网址:

from django.conf.urls import url
from django.core.urlresolvers import reverse_lazy
from accounts.views import change_password
from django.contrib.auth.views import (
    password_reset,
    password_reset_done,
    password_reset_confirm,
    password_reset_complete)

urlpatterns = [
    url(r'^$', password_reset, name='password_reset'),
    url(r'^reset-password/done/$', password_reset_done,
        name='password_reset_done'),
    url(r'^reset-password/confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$',
        password_reset_confirm, name='password_reset_confirm'),
    url(r'^complete/$', password_reset_complete,
        name='password_reset_complete'),
    url(r'^change-password/$', change_password, name='change_password'),
]

非常感谢任何反馈!

提前致谢。

【问题讨论】:

    标签: python django python-3.x django-views django-templates


    【解决方案1】:

    你指定为EMAIL_BACKEND:

    EMAIL_BACKEND = "<b>django.core.mail.backends.console.EmailBackend</b>"

    这是Console backend [Django-doc],所以它不发送电子邮件,而是将电子邮件打印到控制台。例如,这可以用于测试目的。

    您可以指定为后端,例如 SMTP backend [Django-doc]:

    EMAIL_BACKEND = "<b>django.core.mail.backends.smtp.EmailBackend</b>"

    【讨论】:

      猜你喜欢
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 2016-03-01
      • 2021-08-05
      • 2015-11-26
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多