我使用带有提交按钮的模板设置了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 %}
服务器响应:
答案 0 :(得分:0)
似乎Django在网页上运行良好,在发送过程中可能会出现一些错误。
我认为这可能是您的电子邮件设置,请尝试设置
SERVER_EMAIL='my@gmail.com'
django默认情况下将从本地主机发送电子邮件,而Gmail则不接受