Настройки почты¶
Рассылка¶
Стандартная рассылка.
Для каждого стенда нужен ящик,
в настройках указываем (EMAIL_HOST и PORT по ситуации)
EMAIL_HOST= # адрес почтового сервера
EMAIL_PORT= # порт почтового сервера
EMAIL_HOST_USER= # email, который будет использоваться для отправки писем
EMAIL_HOST_PASSWORD= # пароль
Если заказчик хочет рассылать с помощью своего сервера, запрашиваем у него креды для доступа к ящику.
Иногда могут потребоваться дополнительные настройки вроде использования TLS. Всё можно настроить "из коробки".
Также есть настройка, которую можно выставить в False и отключить отправку сообщений из системы
SEND_EMAIL=(bool, True)
Но ей не рекомендуется пользоваться, так как она, например, не отключит системные рассылки (уведомление об ошибках).
Если нужно полностью отключить рассылку, нужно просто не указывать настройки почты (закомментировать).
Отправитель¶
Если не указано иное, то все письма в системе будут отправляться от имени EMAIL_HOST_USER.
Чтобы указать from отличный от EMAIL_HOST_USER можно указать в настройках.
Предварительно нужно проверить, что сервер разрешает аутентифицироваться под одним аккаунтом, а в отправители указывать другой.
DEFAULT_FROM_EMAIL= # обычные письма
SERVER_EMAIL= # сообщения об ошибках
Обратите внимание
Django обязательно нужно указывать эти переменные, иначе будут использованы значения по умолчанию (см документацию Django).
Сброс до EMAIL_HOST_USER (если не указано иное) происходит в src/planiqum/apps/ibp/settings_envs.py так как в большинстве случаев нам нужно отправлять письма с того же аккаунта, под которым пользователь проходил аутентификацию на почтовом сервере.
Сообщения об ошибках¶
Логгер настроен таким образом, чтобы при возникновении ошибки отправлять письмо с трейсбеком на адрес "администратора".
Указывать в качестве администратора отдельных пользователей - не очень удобно (придётся каждый раз менять настройки и перезапускать сервер, чтобы добавить или удалить пользователя)
Предлагается для каждого стенда использовать один ящик, в котором будут собираться сообщения об ошибках. Далее можно настроить переадресацию с этого ящика на адреса заинтересованных пользователей или предоставлять им доступ к ящику.
По умолчанию сообщения об ошибках будут приходить на ящик EMAIL_HOST_USER.
Можно указать другой ящик в
ADMIN_EMAIL=
Обратите внимание
Указанный ADMIN_EMAIL приведёт к созданию единственной записи в settings.ADMINS, на которую будут уходить сообщения об ошибках.
Это временная мера до подключения полноценного решения по трекингу.
dev-сервер (mailhog)¶
Для тестирования в комплект поставки входит mailhog в докере (см настройки в docker-compose.yml)
Он принимает письма на localhost на порте 1025 (можно настроить другой см docker-compose.yml)
Чтобы отправлять на него письма, в настройках .env нужно прописать host и port (user и password не нужны).
EMAIL_HOST=0.0.0.0
EMAIL_PORT=1025
Полученные письма будут доступны на порте 8025 (можно настроить другой см docker-compose.yml).
Настройки сервера должны разрешить доступ к этому порту, тогда можно будет подключаться и смотреть все отправленные письма с указанием from и to.
Письма отправляться не будут. Они будут доступны только в этом веб-интерфейсе для целей тестирования.
http://ibp-demo.planiqum.ru:8025/