Отправка электронной почты в django с помощью smtp

на моем сайте я пытаюсь сбросить пароль по электронной почте с помощью smtp, но когда я отправляю запрос на изменение пароля, я получаю эту ошибку: enter image description here

вот мой settings.py :

    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

    EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_PORT = 587
    EMAIL_HOST_USER = 'expresstest177@gmail.com'
    EMAIL_HOST_PASSWORD = "ibuc pvmq fkgb acah"
    EMAIL_USE_TLS = True
    EMAIL_USE_SSL = False
    
    DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
    SERVER_EMAIL = EMAIL_HOST_USER
    EMAIL_ADMIN = EMAIL_HOST_USER

и urls.py, если это необходимо:

urlpatterns = [
    path('password-reset/', auth_views.PasswordResetView.as_view(
        template_name='main/password_reset_form.html',
        email_template_name='main/password_reset_email.html',
        success_url=reverse_lazy('user:password_reset_done')), name='password_reset'),   

    path('password-reset/done/', auth_views.PasswordResetDoneView.as_view(template_name='main/password_reset_done.html'), name='password_reset_done'),
    path('password-reset/confirm/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(
        template_name='main/password_reset_confirm.html',
        success_url=reverse_lazy('user:password_reset_complete')), name='password_reset_confirm'),

    path('password-reset/complete/', auth_views.PasswordResetCompleteView.as_view(template_name='main/password_reset_complete.html'), name='password_reset_complete'),
]

в чем может быть проблема?

Похоже, что в вашей конфигурации SMTP возникла проблема. Сообщение об ошибке указывает на то, что соединение с SMTP-сервером прерывается или не удается установить должным образом. Вот несколько вещей, которые можно проверить для устранения проблемы:

  1. Проверка настроек SMTP-сервера**: Убедитесь, что указанные вами настройки SMTP-сервера верны. Дважды проверьте адрес SMTP-сервера, порт, имя пользователя и пароль. Для Gmail указанные вами настройки (smtp.gmail.com, порт 587, с TLS) кажутся правильными.

  2. Проверьте брандмауэр или сетевые ограничения: Иногда брандмауэры или сетевые ограничения могут помешать вашему приложению подключиться к SMTP-серверу. Убедитесь, что нет правил брандмауэра, блокирующих исходящие соединения с портом 587 (или любым другим портом, который вы используете для SMTP).

  3. Включите менее безопасные приложения (для Gmail): Если вы используете аккаунт Gmail для отправки писем, убедитесь, что вы включили опцию "Less Secure Apps" в настройках аккаунта Gmail. Это позволит приложениям, подобным вашему, получать доступ к учетной записи Gmail по протоколу SMTP. Однако будьте осторожны с этой опцией, поскольку она может сделать ваш аккаунт более уязвимым для несанкционированного доступа.

  4. Использовать пароль приложения (для Gmail): Если в вашем аккаунте Gmail включена двухфакторная аутентификация, вам нужно будет сгенерировать "App Password", чтобы использовать его вместо обычного пароля для SMTP-аутентификации. Это можно сделать в настройках аккаунта Google.


Проверив эти пункты и, возможно, внеся соответствующие изменения в конфигурацию, вы сможете решить проблему с подключением к SMTP-серверу. Если проблема сохраняется, вам может потребоваться обратиться за дальнейшей помощью к поставщику услуг электронной почты или системному администратору.

Вернуться на верх