Сброс пароля электронной почты в Джанго - PullRequest
0 голосов
/ 19 октября 2019

Я использую представления django auth для сброса пароля и настройки параметров электронной почты, используя smtp в settings.py. Я не уверен, почему я не получаю электронные письма в моем gmail. Когда я отправляю его с помощью функции send_mail (), я получаю письма в порядке. У кого-нибудь есть идеи?

Я настроил параметры EMAIL в settings.py, добавил URL-адреса в url.py и создал свои собственные файлы шаблонов.

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 ивведите мой адрес электронной почты и нажмите кнопку Отправить. Он показывает мне страницу password_reset_done, но я не получаю ни одного письма в моем gmail. Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 22 октября 2019

в 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 по этой ссылке https://myaccount.google.com/lesssecureapps?pli=1

, если она все еще не работает, отключите здесь капчу https://accounts.google.com/displayunlockcaptcha надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...