Конфигурация электронной почты Django: Сбой проверки SSL-сертификата на SMTP-сервере GoDaddy
Я пытаюсь настроить Django для отправки электронных писем с помощью SMTP-сервера GoDaddy (smtpout.secureserver.net
). Моя учетная запись электронной почты была создана на GoDaddy, и в моем файле settings.py
есть следующие настройки:
import os
MAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtpout.secureserver.net'
EMAIL_HOST_USER = os.environ.get("EMAIL_HOST")
EMAIL_HOST_PASSWORD = os.environ.get("EMAIL_HOST_PASSWORD")
DEFAULT_FROM_EMAIL = os.environ.get("EMAIL_HOST")
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_USE_TLS = False
Я установил свои переменные окружения следующим образом:
EMAIL_HOST = ABC@dagger.com # GoDaddy email
EMAIL_HOST_PASSWORD = Abc@1223 # GoDaddy email password
Однако при попытке отправить электронное письмо я получаю следующую ошибку:
File "C:\Users\jinal.desai\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 1071, in _create
self.do_handshake()
File "C:\Users\jinal.desai\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 1342, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1007)
То, что я пробовал:
- Убедился, что мои учетные данные электронной почты GoDaddy верны.
- Попробовал установить
EMAIL_USE_TLS = True
иEMAIL_USE_SSL = False.
- Используется
EMAIL_PORT = 587
вместо465
. - Вручную проверил, что
smtpout.secureserver.net
работает с использованием внешнего почтового клиента. - Попытался отключить проверку SSL-сертификата с помощью:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
Вопрос:
- Как я могу исправить эту ошибку проверки SSL-сертификата с помощью GoDaddy SMTP?
- Нужно ли мне устанавливать определенный SSL-сертификат или доверять ему для Почтовый сервер GoDaddy?
- Существует ли какой-либо известный способ решения этой проблемы?
Мы были бы признательны за любую помощь!