【问题标题】:Django 1.6: Forgot password not sending emailDjango 1.6:忘记密码不发送电子邮件
【发布时间】:2014-07-30 17:08:35
【问题描述】:

我正在尝试实现 django 的内置忘记密码,但我从未收到电子邮件。我检查了我的垃圾邮件文件夹,但仍然没有。输入电子邮件后,它显示密码重置成功页面,但我从未收到电子邮件。

settings.py

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

DEFAULT_FROM_EMAIL = 'something@gmail.com'
SERVER_EMAIL = 'something@gmail.com'

urls.py

url(r'^forgot-password/$', views.forgot_password, name="forgot-password"),

views.py

def forgot_password(request):
    if request.method == 'POST':
        return password_reset(request, 
            from_email=request.POST.get('email'))
    else:
        return render(request, 'meddy1/forgot_password.html')

我已经尝试通过执行以下操作在 python manage.py shell 中对其进行测试

from django.core.mail import EmailMessage
email = EmailMessage('Subject', 'Message', to=['something@gmail.com'])
email.send()

它给了我 1 的输出,但我仍然没有收到任何电子邮件!

然后我通过执行以下操作尝试了这个 python manage.py shell

from django.core.mail import send_mail
send_mail('Subject here', 'Here is the message.', 'something@gmail.com',
    ['somethingelse@gmail.com'], fail_silently=False)

它给了我 1 的输出,我在收件箱中成功收到这封电子邮件。

我不知道为什么它没有通过表单发送电子邮件。

【问题讨论】:

  • 您尝试过备用服务器吗?
  • @AshishKasturia 你是什么意思备用服务器?你能详细说明一下吗?
  • 备用电子邮件服务器。
  • @HarisB。您的信息已发送这一事实并不能保证它会送达。尝试另一个 SMTP 服务器(可能是本地服务器 - sendmail 或类似服务器),看看会发生什么。 FWIW 我们有很多运行 Django 1.6 和更早版本的生产站点,我可以告诉你 email.send() 确实有效。
  • @brunodesthuilliers 我在 python manage.py shell 中尝试了 send_mail 并成功收到了电子邮件。这是什么意思?

标签: python django email


【解决方案1】:

我没有收到电子邮件的原因是我在注册时将用户的电子邮件地址存储为用户名。因为我想使用电子邮件地址而不是用户名进行身份验证。因此,每当我在忘记密码页面中输入电子邮件地址时,它都会将我重定向到显示电子邮件已发送的页面。但我永远不会收到任何电子邮件,因为它从未在数据库中找到电子邮件。理想情况下,它实际上应该引发一个错误,说找不到电子邮件地址。但是没有!!!

我需要找到一种方法来做到这一点。

所以目前我将用户的电子邮件地址保存为用户名和电子邮件地址。我知道由于数据冗余,这样做不是一个好主意。但它有效!

【讨论】:

    猜你喜欢
    • 2015-10-21
    • 2016-08-31
    • 2011-02-19
    • 2012-02-29
    • 1970-01-01
    • 2015-06-22
    • 2013-06-13
    • 2013-03-04
    • 2014-08-11
    相关资源
    最近更新 更多