Конфигурация работы с почтой
На этой странице будет представлено подробное руководство по настройке работы игры с почтой. Данный момент не существенен для разработки, но критичен для публикации игры, поскольку многие активности (регистрация, изменение пароля, нотификации) требуют отправки почты.
Конфигурацию работы игры с почтой можно разделить на 2 части: настройка отправки писем и настройка соединения с почтовым сервером.
Поскольку вопрос почтовых рассылок сложный, мы приветствуем всяческие дополнения в это руководство.
Отправка писем
За отправку писем отвечает отдельный фоновый рабочий post_service
. Часть его настроек можно найти в the_tale.post_service.conf
и переопределить в settings_local.py
дописав к их именам POST_SERVICE_
. Эти настройки снабжены соответствующими комментариями, которые повторяться тут не будут.
Для включения отправки писем необходимо установить
POST_SERVICE_ENABLE_MESSAGE_SENDER = True
И установить значение allowed
в таблице settings
(через админку Django) по ключу равному значению SETTINGS_ALLOWED_KEY
.
Кроме того, в settings_local.py
необходимо установить следующие параметры
SERVER_EMAIL
— почтовый адрес от которого по умолчанию будут отправляться письма.EMAIL_NOREPLY
— почта, которая будет писаться в письмах, на которые игроки не должны отвечать, тут можно указать длинное значение вродеu'«Сказка» <no-reply@the-tale.org>'
EMAIL_SUPPORT
— почта службы поддержки, тут можно указать длинное значение вродеu'«Сказка» <support@the-tale.org>'
EMAIL_SUPPORT_SHORT
— короткий адрес службы поддержки (только сама почта, без вставки имени и прочего)
Настройка соединения с почтовым сервером
Отправлять почту мы можем как через собственный почтовый сервис (например, настроив Postfix) либо через один из существующих (например, через GMail).
В каждом случае есть свои нюансы, касающиеся массовых рассылок и попадания под спам фильтры. Но в начале проще использовать существующий сервис (при запуске, Сказка использовала GMail, потом перешла на Postfix).
Соединение с почтовым сервисом настраивается стандартным для Django способом.
Для собственного сервиса будет достаточно указать следующие настройки
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST_USER
— пользователь сервиса с правами отправки почтыEMAIL_HOST_PASSWORD
— пароль пользователя
Для использования сторонних сервисов, возможно, надо будет добавить несколько других параметров (см. в конфигурации Django и этот пост)
Отправка писем во время разработки
Для разработки игры обычно нет необходимости настраивать отправку почты, поскольку для большинства случаев она не нужна.
Поэтому отправку почты можно настроить в каталог на файловой системе, например, так:
EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'
EMAIL_FILE_PATH = '/tmp/emails'