【问题标题】:Password Reset-Sending mail doesnt work密码重置-发送邮件不起作用
【发布时间】:2013-10-13 16:12:12
【问题描述】:
Setting.py-

EMAIL_BACKEND = "mailer.backend.DbBackend"
EMAIL_SUBJECT_PREFIX = "[.....]"

EMAIL_HOST          = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'tester@@abcd'
EMAIL_HOST_USER     = 'tester.abcd@gmail.com'
EMAIL_PORT          = 587
EMAIL_USE_TLS       = True

DEFAULT_FROM_EMAIL  = 'tester.abcd@gmail.com'
DEFAULT_ADMIN_EMAIL  = 'tester.abcd@gmail.com'
TEMPORARY_CC_EMAIL = 'tester.abcd@gmail.com'
CONTACTUS_EMAIL = 'tester.abcd@gmail.com'
JOBAPPLY_EMAIL = 'tester.abcd@gmail.com'

urls.py:

urlpatterns = patterns('django.contrib.auth.views',
 url(r'^password-reset/$', 'password_reset', {
      'template_name': 'profiles/password_reset_form.html',
    'password_reset_form': PassResetForm
  }, name='password-reset'),
 url(r'^password-reset-process/$', 'password_reset_done', {
    'template_name': 'profiles/password_reset_done.html',
  }, name='password-reset-done'),
 url(r'^password-reset-confirm/(?P<uidb36>[0-9a-zA-Z]{1,13})-(?P<token>.+)/$',
    'password_reset_confirm',
    {'template_name': 'profiles/password_reset_confirm.html',},
    name='password-reset-confirm'),
 url(r'^password-reset-complete', 'password_reset_complete', {
    'template_name': 'profiles/password_reset_complete.html',
  }, name='password-reset-complete'),

这是我的代码,当我输入我的邮件并单击提交时,它会正确重定向到下一页但邮件没有发送,这个代码有什么 pblm

【问题讨论】:

  • 而不是显示您的 url 模式,您应该更好地显示您的视图,该视图旨在发送邮件......
  • 我正在使用 django 密码重置

标签: python django email django-mailer


【解决方案1】:

您应该首先测试问题是来自您的代码还是来自电子邮件后端。

以下是设置 Django 控制台电子邮件后端的方法:

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

当您在本地开发机器python manage.py runserver 上运行服务器时,这应该会在控制台中输出电子邮件。

如果电子邮件正确打印到控制台,那么您的配置有问题:

EMAIL_HOST          = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'tester@@abcd'
EMAIL_HOST_USER     = 'tester.abcd@gmail.com'
EMAIL_PORT          = 587
EMAIL_USE_TLS       = True

或这里:

EMAIL_BACKEND = "mailer.backend.DbBackend"

【讨论】:

  • EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend',我试过了,它工作正常,邮件显示在我的终端中
  • 这意味着后端没有发送邮件或者它可能会发送垃圾邮件。你检查垃圾邮件文件夹了吗?
  • 如果你使用这个后端怎么办:EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'?
  • 非常有见地...所以呢?
猜你喜欢
  • 1970-01-01
  • 2013-12-18
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-26
  • 2019-07-26
  • 2015-03-12
相关资源
最近更新 更多