Django内置password_reset视图不发送电子邮件

时间:2013-07-01 04:05:33

标签: django email

我正在使用django内置网址和视图进行身份验证过程。

我正在尝试使用django的内置网址和视图进行用户身份验证,但是已经自定义了html文件,例如login.html注册/ password_reset_form.html

我已经在我的url.py中导入了网址

from django.contrib.auth import urls

和urlpatterns

url(r'^account/', include('django.contrib.auth.urls')),

在我的views.py

from django.contrib.auth.views import *

(没有其他视图函数来处理身份验证过程)

现在,在输入有效的电子邮件地址以便在password_reset_form.html中发送电子邮件后,该页面将重定向到password_reset_done.html,但我无法接收电子邮件

以下是我的settings.py中的电子邮件设置

if DEBUG:
    EMAIL_HOST = 'localhost'
    EMAIL_PORT = 25
    EMAIL_HOST_USER = ''
    EMAIL_HOST_PASSWORD = ''
    EMAIL_USE_TLS = False

当我尝试发送电子邮件的django快速示例时

from django.core.mail import send_mail

send_mail('Subject here', 'Here is the message.', 'from@example.com',
    ['mymail.com'], fail_silently=False)

它显示error: [Errno 111] Connection refused

的错误消息

所以这意味着我必须在django内置的password_reset发送电子邮件之前做一些事情。任何人都可以帮助解释我应该做什么来使发送电子邮件功能工作?

非常感谢!

1 个答案:

答案 0 :(得分:0)

根据您的设置,您的计算机上应安装本地smtp服务器(或您的服务器,具体取决于您运行示例的位置)

尝试使用您的GMAIL(或YAHOO或您正在使用的任何提供商)以确保您的设置。

如果您是sendmail用户,sendmail是通常在unix计算机上使用的邮件服务器,您可以使用此snippet来实现自定义邮件后端。自定义后端的声明是通过设置文件中的EMAIL_BACKEND设置参数完成的。