【问题标题】:Reset password emails in Django在 Django 中重置密码电子邮件
【发布时间】:2020-02-15 22:57:09
【问题描述】:

我正在使用 django auth 视图进行密码重置,并在 settings.py 中使用 smtp 设置电子邮件设置。我不知道为什么我没有在我的 gmail 中收到电子邮件。当我使用 send_mail() 函数发送它时,我收到的电子邮件很好。有人知道吗?

我在 settings.py 中配置了 EMAIL 设置,并在 url.py 中添加了 URL,并制作了我自己的模板文件。

Settings.py:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = os.environ.get('EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PWD')
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

urls.py:

from django.contrib.auth import views as auth_views

 path('password-reset/',
         auth_views.PasswordResetView.as_view(
             template_name='users/password_reset.html'
         ),
         name='password_reset'),
    path('password-reset/done/',
         auth_views.PasswordResetDoneView.as_view(
             template_name='users/password_reset_done.html'
         ),
         name='password_reset_done'),
    path('password-reset-confirm/<uidb64>/<token>/',
         auth_views.PasswordResetConfirmView.as_view(
             template_name='users/password_reset_confirm.html'
         ),
         name='password_reset_confirm'),
    path('password-reset-complete/',
         auth_views.PasswordResetCompleteView.as_view(
             template_name='users/password_reset_complete.html'
         ),
         name='password_reset_complete'),
    path('admin/', admin.site.urls),

我去密码重置并输入我的电子邮件并单击提交。它向我显示了 password_reset_done 页面,但我的 gmail 中没有收到任何电子邮件。非常感谢任何帮助。

【问题讨论】:

    标签: django python-3.x


    【解决方案1】:

    在 settings.py 中,您正在添加 django 邮件后端,因此您将在服务器屏幕中接收邮件! 要在 gmail 中接收消息,您需要用此设置替换您的设置

    EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_HOST_USER = 'youremail@gmail.com' 
    EMAIL_HOST_PASSWORD = 'yourpassword'
    EMAIL_PORT = 587
    EMAIL_USE_TLS = True
    

    确保替换此设置并添加您的 gmail 和密码

    并且您需要通过此链接在您的 gmail 帐户中允许安全性较低的应用 https://myaccount.google.com/lesssecureapps?pli=1

    如果仍然无法正常工作,请从此处禁用验证码 https://accounts.google.com/displayunlockcaptcha 希望这会有所帮助

    【讨论】:

    • 感谢您的建议。我试过了,但仍然没有在 gmail 中收到电子邮件
    • 你做了所有的步骤!允许不太安全的模式并禁用验证码并在 django settings.py 中添加你的 gmail 设置!!??
    猜你喜欢
    • 2017-01-25
    • 2020-09-26
    • 2019-05-01
    • 2013-12-18
    • 2018-05-24
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多