Настройка электронной почты
Электронная почта в LICANT-IT
LICANT-IT использует электронную почту для оповещения пользователей и отправки сообщений (например, при создании пользователя, отправке лицензии/серийного номера, уведомлениях о действиях в личном кабинете, восстановлении пароля).
В системе важно разделять два разных типа адресов электронной почты:
- System From: технический адрес, от имени которого реально уходит почта через SMTP-сервер.
- LicenseOwner.email: контактный адрес для отображения на сайте, обратной связи и вставок в шаблоны писем.
Фактически это может быть один адрес, но настраиваются они отдельно!
1) System From (системный отправитель)
Для чего используется
- Используется как адрес отправителя при отправке писем через SMTP.
- Этот адрес должен быть разрешен на SMTP-сервере (и обычно совпадает с SMTP-логином).
Где настраивается
В настройках Django (обычно через .env/переменные окружения -> settings.py):
- DEFAULT_FROM_EMAIL (приоритет)
- EMAIL_HOST_USER (fallback)
Правило выбора:
- если задан DEFAULT_FROM_EMAIL - используем его
- иначе используем 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) Быстрая проверка
- Открой /admin/settings/email/
- Нажми "Отправить тестовое письмо"
- Убедись, что письмо пришло на EMAIL_HOST_USER
- При необходимости проверь заголовки письма:
- From = DEFAULT_FROM_EMAIL/EMAIL_HOST_USER
- Reply-To (если используется) = LicenseOwner.email