Django PasswordResetView-Gmail电子邮件未发送

时间:2019-01-28 09:14:07

标签: python django

我使用带有提交按钮的模板设置了PasswordResetView,还设置了使用Gmail帐户进行发送的必要配置,但是当我尝试将密码重置发送至电子邮件时,控制台返回302响应,但没有收到电子邮件。我已经在我的gmail帐户中允许使用不太安全的应用程序,但它仍然不发送任何电子邮件。以下是我的设置的详细信息。

URL:

path('password-reset/', auth_views.PasswordResetView.as_view(template_name='users/password_reset.html'), name='password_reset'),

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 = 'my@gmail.com'
EMAIL_HOST_PASSWORD = 'mypass'

重置密码模板:

{% extends "blog/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
    <div class="content-section">
        <form method="POST">
            {% csrf_token %}
            <fieldset class="form-group">
                <legend class="border-bottom mb-4 pb-2">Reset Password</legend>
                {{ form|crispy }}
            </fieldset>
            <div class="form-group">
                <button class="btn btn-outline-info" type="submit">Request Password Reset</button>
            </div>
        </form>
    </div>
{% endblock content %}

服务器响应:

enter image description here

1 个答案:

答案 0 :(得分:0)

似乎Django在网页上运行良好,在发送过程中可能会出现一些错误。

我认为这可能是您的电子邮件设置,请尝试设置

SERVER_EMAIL='my@gmail.com'

django默认情况下将从本地主机发送电子邮件,而Gmail则不接受

可能重复:Django send_mail not working