Конфигурация работы с почтой

На этой странице будет представлено подробное руководство по настройке работы игры с почтой. Данный момент не существенен для разработки, но критичен для публикации игры, поскольку многие активности (регистрация, изменение пароля, нотификации) требуют отправки почты.

Конфигурацию работы игры с почтой можно разделить на 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'