Конфигурация работы с почтой
На этой странице будет представлено подробное руководство по настройке работы игры с почтой. Данный момент не существенен для разработки, но критичен для публикации игры, поскольку многие активности (регистрация, изменение пароля, нотификации) требуют отправки почты.
Конфигурацию работы игры с почтой можно разделить на 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'