Django send mail работает на localhost, но не на сервере

Недавно я начал изучать Django и написал код для отправки электронной почты на странице контактов, и он отлично работает на моем localhost, но когда я загрузил его на сервер, он выдал эту ошибку:

SMTPServerDisconnected at /contact
Connection unexpectedly closed

вот мой код settings.py:

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'my@gmail.com'
EMAIL_HOST_PASSWORD = 'app passwords'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

и вот мой views.py

send_mail('title', 'message', userEmail, [settings.EMAIL_HOST_USER], fail_silently=False,)

Я разговаривал с группой поддержки моего хост-сервера, чтобы проверить порты, но они сказали, что все в порядке, поэтому я не знаю, упускаю ли я что-то или нет.

Вот несколько предложений по диагностике проблемы:

  1. Порт 587 может быть заблокирован или TLS не работает. Вы также можете проверить SSL.

  2. Проверьте порт 465 вместо 587, как с TLS, так и с SSL.

  3. Для проверки блокировки используйте такие инструменты, как telnet, netcat или openssl, чтобы проверить доступность порта.

Настройте TLS или SSL в файле settings.py с помощью переменных EMAIL_USE_SSL=True или EMAIL_USE_TLS=True.

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