Я настраиваю аутентификацию пользователя в Django с помощью Django rest auth.Большинство вещей работает хорошо, но я не могу получить письма для сброса пароля для отправки, либо в фиктивном бэкэнде, либо с помощью Mailgun.
Я следовал этому учебнику , чтобы настроить базовую аутентификацию.Все в учебнике прекрасно работает, но не объясняет, как выполнить сброс пароля.
У меня есть учетная запись в Mailgun и я пытаюсь использовать песочницу для отправки писем.
# api/urls.py
from django.urls import include, path
urlpatterns = [
path('rest-auth/', include('rest_auth.urls')),
path('rest-auth/registration/', include('rest_auth.registration.urls')),
path('users/', include('users.urls')),
]
Я запрашиваю сброс пароля для зарегистрированного пользователя через форму API для просмотра: http://127.0.0.1:8000/api/v1/rest-auth/password/reset/
Я ввожу в форму адрес электронной почты и нажимаю «POST».На странице отображается следующее:
POST /api/v1/rest-auth/password/reset/
HTTP 200 OK
Allow: POST, OPTIONS
Content-Type: application/json
Vary: Accept
{
"detail": "Password reset e-mail has been sent."
}
Однако электронное письмо не отправлено!
В журналах почтового пистолета нет активности - электронное письмо не было отправлено.
Когда я смотрюна вкладке «Сеть» в браузере я не вижу запроса на публикацию.
Вот мои настройки с использованием Mailgun:
EMAIL_HOST = 'smtp.mailgun.org'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'postmaster@sandboxxxxx.mailgun.org'
EMAIL_HOST_PASSWORD = 'xxxx'
EMAIL_USE_TLS = True
(я поставил свою настоящую песочницу и пароль в фактическомфайл)
Во-первых, с помощью этого в settings.py:
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
Я ожидаю, что текст сообщения электронной почты будет зарегистрирован в терминале, где работает сервер. '/ manage.py runserver,Однако ничего не регистрируется.
Тогда, с этим в settings.py:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
Я бы ожидал, что письма будут отправлены Mailgun.
Какая очевидная глупостья пропустил?
Я думаю, что Django rest auth включает шаблон электронной почты по умолчанию, поэтому мне не нужно создавать его вручную, если я должен?
Есть ли что-то еще, что я должен сделать дляСтраница администратора на http://127.0.0.1:8000/api/v1/rest-auth/password/reset/, чтобы сделать свое дело?http://127.0.0.1:8000/api/v1/rest-auth/login/ работает нормально, я могу войти в систему и увидеть мой токен, возвращенный с сервера.
Очень благодарен за любые идеи!