Электронная почта Django

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

Это настройки по умолчанию в моих settings.py

EMAIL_HOST = 'smtp.gmail.com' EMAIL_HOST_USER = 'example@example.com' EMAIL_HOST_PASSWORD = 'pwd' EMAIL_PORT = 587 EMAIL_USE_TLS = True SERVER_EMAIL = EMAIL_HOST_USER DEFAULT_FROM_EMAIL = EMAIL_HOST_USER 

Если я хочу, чтобы пользователь отправил электронное письмо, я переопределяю эти параметры и отправляю электронное письмо с помощью методов отправки электронной почты Django. Когда в системе возникает исключение, я получаю электронное письмо с example@example.com. Иногда я получаю электронное письмо от какого-либо зарегистрированного пользователя. Это также может означать, что когда пользователь получает электронное письмо, отправленное с моего сайта, он имеет адрес, отличный от фактического пользователя.

Что нужно сделать, чтобы избежать этой ситуации?

One Solution collect form web for “Электронная почта Django”

Django использует только настройки.DEFAULT_FROM_EMAIL, когда любая из функций отправки почты передает None или пустую строку в качестве адреса отправителя . Это можно проверить в django/core/mail.py

Когда есть необработанное исключение, Django вызывает mail_admins() в django/core/mail.py которая всегда использует settings.SERVER_EMAIL и отправляется только на адреса, указанные в настройках . django/core/mail.py . Это также можно проверить в django/core/mail.py

Единственное другое место, которое Django отправляет по электронной почте, – это настройки settings.SEND_BROKEN_LINK_EMAILS – True, тогда CommonMiddleware отправит почту всем адресам, указанным в настройках. MANAGERS и отправителем электронной почты являются settings.SERVER_EMAIL .

Поэтому единственный раз, когда обычный пользователь получает электронную почту с вашего сайта, вы звоните по send_mail() . Поэтому всегда передавайте реальный адрес в качестве аргумента from_mail и вы избегаете использования пользователями электронной почты из настроек . from_mail или settings.DEFAULT_FROM_EMAIL .

Замечание: django-registration – это, по крайней мере, один пример подключаемого Django, который отправит почту из настроек.DEFAULT_FROM_EMAIL, поэтому в таких случаях вам нужно убедиться, что это правильный адрес электронной почты, такой как support@yoursite.com или веб-мастер @ yoursite.com.

  • Насколько сложно создать почтовый клиент? - Python
  • Разбор Gmail с Python и отметьте все старше даты как «прочитанные»,
  • Как сопоставить сегодняшнюю дату в фрейме данных и отправлять сообщения электронной почты
  • Получить основной текст сообщения электронной почты с помощью пакета python imap и электронной почты
  • Разбор электронной почты с помощью Python
  • Python: при отправке электронной почты всегда блокируется в разделе: smtpserver = smtplib.SMTP («smtp.gmail.com», 587)
  • Получайте электронные сообщения с Python и poplib
  • как добавить ссылку href в содержание электронной почты при отправке электронной почты через smtplib
  •  
    Interesting Posts for Van-Lav

    Использование объектов Django bulk_create во внешних ключах?

    Как разрешить «table» auth_permission «уже существует», когда база данных делится между двумя проектами Django

    Команды выбора портов Macports

    Как создать программу, которая использует графический интерфейс?

    Связывание двоичных данных с Python GUI на C ++ и обратно

    Повторная выборка кадра данных pandas с многоиндексными таймингами

    Идентификация больших тел текста через BeautifulSoup или другие экстракторы на основе python

    Numpy: для каждого элемента в одном массиве найдите индекс в другом массиве

    Перезагрузка модуля с именем NameError: имя 'reload' не определено

    scipy, fftpack и float64

    Получение Gunicorn для работы на порту 80

    PIL thumbnail поворачивает мое изображение?

    PIL как масштабировать размер текста по отношению к размеру изображения

    Python: как сделать кросс-модульную переменную?

    Почему администратор django не открывается правильно?

    Python - лучший язык программирования в мире.