← К списку страниц

Настройка электронной почты

LICANT-IT использует электронную почту для оповещения пользователей и отправки сообщений (например, при создании пользователя, отправке лицензии/серийного номера, уведомлениях о действиях в личном кабинете, восстановлении пароля).

В системе важно разделять два разных типа адресов электронной почты:

  • System From: технический адрес, от имени которого реально уходит почта через SMTP-сервер.
  • LicenseOwner.email: контактный адрес для отображения на сайте, обратной связи и вставок в шаблоны писем.

Фактически это может быть один адрес, но настраиваются они отдельно!

1) System From (системный отправитель)

Для чего используется

  • Используется как адрес отправителя при отправке писем через SMTP.
  • Этот адрес должен быть разрешен на SMTP-сервере (и обычно совпадает с SMTP-логином).

Где настраивается

В настройках Django (обычно через .env/переменные окружения -> settings.py):

  • DEFAULT_FROM_EMAIL (приоритет)
  • EMAIL_HOST_USER (fallback)

Правило выбора:

  1. если задан DEFAULT_FROM_EMAIL - используем его
  2. иначе используем EMAIL_HOST_USER

2) LicenseOwner.email (контактный email владельца лицензии)

Для чего используется

  • Показывается на сайте/в личном кабинете (например, в футере).
  • Используется внутри email-шаблонов как переменная (например, {{ license_owner.email }}).
  • Может использоваться как Reply-To (куда пойдут ответы), если это реализовано в коде.

Где настраивается

В Панели администратора:
Администрирование -> LICANT -> Владелец лицензии (обычно запись №1)

Пример URL:
/admin/licant/licenseowner/1/change/

3) SMTP-настройки (параметры подключения)

Основные параметры

  • EMAIL_HOST - SMTP-хост
  • EMAIL_PORT - порт SMTP
  • EMAIL_USE_SSL - использовать SSL
  • EMAIL_USE_TLS - использовать TLS (STARTTLS)
  • EMAIL_HOST_USER - логин SMTP (часто email)
  • EMAIL_HOST_PASSWORD - пароль (или app-password)
  • DEFAULT_FROM_EMAIL - системный From

Важно: SSL и TLS нельзя включать одновременно

Нельзя ставить EMAIL_USE_SSL=True и EMAIL_USE_TLS=True одновременно.
Это приводит к ошибке отправки.

Типовые схемы

  • 465 + SSL:
    EMAIL_PORT=465
    EMAIL_USE_SSL=True
    EMAIL_USE_TLS=False

  • 587 + STARTTLS:
    EMAIL_PORT=587
    EMAIL_USE_SSL=False
    EMAIL_USE_TLS=True

  • 25/2525:
    зависит от провайдера (часто STARTTLS или без шифрования)

4) Где посмотреть текущие email-настройки в Панели администратора

Настройки -> Настройки почтового сервера
(пример URL: /admin/settings/email/)

На странице отображаются:
- текущие значения SMTP-настроек из settings
- системный отправитель (From)
- пароль скрыт (**)
- кнопка тестового письма
- проверки согласованности настроек

5) Email-шаблоны и переменные

Письма формируются на основе шаблонов EmailTemplate (тема и HTML-тело письма).

В шаблоны обычно передается объект license_owner, поэтому можно использовать:
- {{ license_owner.email }} - контактный email владельца лицензии

Примечание:
Переменные в шаблоне не определяют "кто отправитель" письма.
Отправитель задается на уровне SMTP/системных настроек (System From).

6) Типовые проблемы и диагностика

Ошибка: EMAIL_USE_TLS/EMAIL_USE_SSL are mutually exclusive

Причина: одновременно включены и SSL, и TLS.
Решение: оставить только один режим (см. схемы выше).

Ошибка SMTP 550 (Sender refused / local domains only)

Причина: SMTP-сервер разрешает отправку только от реальных ящиков/локальных доменов.
Решение: DEFAULT_FROM_EMAIL должен быть разрешенным адресом на этом SMTP (обычно тем же, что EMAIL_HOST_USER).
LicenseOwner.email при правильной настройке остается контактным адресом/Reply-To.

7) Быстрая проверка

  1. Открой /admin/settings/email/
  2. Нажми "Отправить тестовое письмо"
  3. Убедись, что письмо пришло на EMAIL_HOST_USER
  4. При необходимости проверь заголовки письма:
  5. From = DEFAULT_FROM_EMAIL/EMAIL_HOST_USER
  6. Reply-To (если используется) = LicenseOwner.email