首先,我想澄清一下,我已经在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'),
]
任何反馈都非常感谢!
谢谢。
答案 0 :(得分:1)
您指定为EMAIL_BACKEND
:
EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
这是Console backend [Django-doc],因此它不会发送电子邮件,但会将电子邮件打印到控制台。例如,可以将其用于测试目的。
您可以将SMTP backend [Django-doc]例如指定为后端:
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"