Django reset password не отправляет письмо
Столкнулся с проблемой. После того как пользователь ввел свою почту, письмо не отправляется, хотя до этого работало все. Версия django: 4.0.3
views.py
context_email = ['']
class ResetPassword(DataMixin, PasswordResetView):
""" Сброс пароля """
template_name = 'lz/password_reset.html'
html_email_template_name = 'lz/password_reset_email.html'
form_class = PasswordResetForm
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
c_def = self.get_user_context()
return dict(list(context.items()) + list(c_def.items()))
def get_success_url(self):
return reverse_lazy('reset_password_done')
def form_valid(self, form):
cl_data = form.cleaned_data['email']
context_email[0] = cl_data
return super().form_valid(form)
class ResetPasswordDone(DataMixin, PasswordResetDoneView):
""" После формы сброса пароля """
template_name = 'lz/password_reset_done.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['user_email'] = context_email[0]
c_def = self.get_user_context()
return dict(list(context.items()) + list(c_def.items()))
class ResetPasswordConfirm(DataMixin, PasswordResetConfirmView):
""" Новый пароль """
template_name = 'lz/password_reset_confirm.html'
form_class = SetPasswordForm
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
c_def = self.get_user_context()
return dict(list(context.items()) + list(c_def.items()))
def get_success_url(self):
return reverse_lazy('main')
settings.py
DEFAULT_FROM_EMAIL = 'тут моя почта на gmail'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'тут опять моя почта на gmail'
EMAIL_HOST_PASSWORD = 'тут пароль от моей почты на gmail'
EMAIL_USE_SSL = True
password_reset.html
<form method="post">
{% csrf_token %}
<center><div class="form-error">{{ form.non_field_errors }}</div>
{% for f in form %}
{{f}}
{% endfor %}
<!--<input id="input_form_new" type="email" name="email" autocomplete="email" maxlength="254"
required id="id_email" placeholder="Введите свой e-mail">-->
<button id="button_accept_new" type="submit">Сменить пароль</button></center>
</form>
{% endblock %}
password_reset_email.html
{% block content %}
Ваш запрос на сброс пароля был успешно обработан. Если вы не запрашивали сброс пароля, то проигнорируйте
данное сообщение!
Нажмите на ссылку, что бы сбросить пароль:
{{ protocol}}://{{ domain }}{% url 'reset_password_confirm' uidb64=uid token=token %}
{% endblock %}