Django密码重置电子邮件永远不会发送

时间:2016-02-17 05:02:05

标签: python django email smtp

我使用内置的Django密码重置,并且已经发送了'密码重置'页面出现,但电子邮件永远不会发送。我的电子邮件设置设置如下:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'my_email'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
EMAIL_HOST_PASSWORD = 'my_password'

我在开发过程中包括以下内容,但不完全确定是否有必要:

ALLOWED_HOSTS = ['localhost']

控制台说:

MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Subject: Password reset on localhost:8000
From: myemail@gmail.com
To: anotheremail@hotmail.com
Date: Wed, 17 Feb 2016 04:53:17 -0000
Message-ID: <some_id@toms-macbook-air.local>

看起来应该发生的一切,但电子邮件永远不会发送。我在这里做错了吗?

1 个答案:

答案 0 :(得分:4)

您正在使用仅用于测试的虚拟电子邮件后端。改变行

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

来自docs

  

控制台后端

     

而不是发送真正的电子邮件,控制台后端只是编写   将被发送到标准输出的电子邮件。默认情况下   控制台后端写入stdout。您可以使用不同的流   对象通过在构造时提供stream关键字参数来实现   连接。