Отправка электронной почты с сервера DebuggingServer localhost:1025 не работает
Я тестирую отправку электронной почты после заполнения формы на сайте и использую свой локальный хост. После отправки формы я использую метод django send_mail() и отправляю тестовое письмо на учетную запись gmail, а учетная запись имеет тип данных list.
$ python -m smtpd -n -c DebuggingServer localhost:1025
И я получаю это обесцененное сообщение после включения сервера и я также до сих пор не получил письмо от моего локального хоста
C:\Users...\AppData\Local\Programs\Python\Python310\lib\smtpd.py:104: DeprecationWarning: Модуль asyncore устарел. Рекомендуемая замена - asyncio import asyncore C:\Users...\AppData\Local\Programs\Python\Python310\lib\smtpd.py:105: DeprecationWarning: Модуль asynchat устарел. Рекомендуемая замена - asyncio import asynchat
Вот что находится в моем файле settings.py:
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
Есть идеи, почему он не отправляет?
Я не смог до конца разобраться, но кажется, что он спрашивает об асинхронном планировщике задач, как celery с rabbitmq или radis.
более того, это предупреждение. Я не уверен, но вы можете обойти это, изменив ваш settings.py
DEBUG = True
на это
DEBUG = False
пусть это сработает.
больше в вашем settings.py
EMAIL_HOST = 'localhost'
кажется сомнительным, вам следует использовать
EMAIL_HOST = 'smtp.gmail.com'
Прежде всего, вы должны настроить свою электронную почту для доступа к вашему проекту. Используйте следующую ссылку для отправки долгового письма: https://dev.to/abderrahmanemustapha/how-to-send-email-with-django-and-gmail-in-production-the-right-way-24ab
#settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'yoorusername@gmail.com'
EMAIL_HOST_PASSWORD = 'key' #past the key or password app here
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'default from email'
Войдите в gmail, затем нажмите Manage your google account, а затем войдите в раздел безопасности на открывшейся странице, как показано ниже: введите здесь описание изображения
вам придется ввести пароль еще раз
и
нажмите на select app выберите *** other (Custome Name) *** и дайте имя вашему приложению
на последнем этапе нажмите на кнопку generate и Gmail сгенерирует ключ или пароль приложения, обязательно скопируйте этот ключ или сохраните его в текстовом файле
и использовать для EMAIL_HOST_PASSWORD