Skip to content
PostCraft
Email-рассылки из админки MODX с окном отправки, трекингом и страницами отписки
  • MODX 2
  • MODX 3
  • PHP 7.2
  1. Компоненты
  2. PostCraft
  3. Настройки, cron и возвраты

Настройки, cron и возвраты ​

Системные настройки ​

Все настройки лежат в пространстве имён postcraft.

КлючПо умолчаниюНазначение
postcraft_timezoneпусточасовой пояс дня и окна отправки, например Europe/Moscow. Пусто: пояс PHP
postcraft_rate_hour60писем в час по умолчанию, если у ящика «В час» = 0
postcraft_rate_day400писем в день по умолчанию, если у ящика «В день» = 0
postcraft_cron_batch20максимум писем с одного ящика за один проход крона, если у ящика «За запуск крона» = 0
postcraft_autopause_bounce_pct8автопауза, если hard bounce выше этого % от принятых (после 20 принятых). 0 — выкл.
postcraft_autopause_fail_streak5автопауза после стольких подряд ошибок отправки за один проход крона
postcraft_sitesсоздаётся при установкеJSON со списком сайтов, см. Несколько сайтов
postcraft_unsub_pages{}тексты страниц отписки. Правьте их на вкладке «Страница отписки»
postcraft_rolehubhub или edge
postcraft_hub_urlпустодля edge: адрес hub
postcraft_edge_secretсоздаётся при установкеобщий ключ hub и edge
postcraft_bounce_imap_hostпустоIMAP-сервер ящика для возвратов. Пусто: разбор выключен
postcraft_bounce_imap_port993порт IMAP, соединение по SSL
postcraft_bounce_imap_userпустологин IMAP
postcraft_bounce_imap_passпустопароль IMAP
postcraft_bounce_imap_mailboxINBOXпапка

Обновление пакета не меняет значения, которые вы уже поставили.

Cron ​

bash
* * * * * php /path/to/site/core/components/postcraft/cron.php

Каждый запуск в течение ~40 секунд забирает очередь с учётом лимитов ящика (час / день / пачка). Письма сверх лимита откладываются на следующий час или день. Если настроен IMAP, после очереди разбираются до 20 новых возвратов. Отдельная задача bounce разбирает до 50 за запуск:

bash
*/10 * * * * php /path/to/site/core/components/postcraft/cron.php bounce

Скрипт печатает итог в одну строку, например queue {"ok":2,"fail":0,"skipped":0,"deferred":0,"processed":2}. Его удобно писать в лог.

Лимиты скорости и прогрев ​

На shared-хостинге массовая отправка без лимитов часто приводит к бану IP. PostCraft ограничивает скорость по ящику «От кого»:

  • у каждого ящика поля «В час», «В день», «За запуск крона» (0 = системные настройки выше);
  • прогрев: мягкий (20% → 50% → 100% за неделю), обычный или выкл.;
  • длинный список при постановке в очередь раскладывается на несколько дней внутри окна «С»–«До»;
  • на вкладке «Рассылка» видна оценка: сколько дней займёт отправка;
  • автопауза при ответе SMTP о лимите, серии ошибок и высоком % bounce — причина показывается в статистике.

Возвраты ​

Недоставленные письма почтовые серверы возвращают отправителю. PostCraft читает такие письма по IMAP и отмечает их в статистике:

  • hard bounce (адреса нет, ящик удалён): адрес попадает в blacklist, письмо получает статус «Bounce»;
  • soft bounce (ящик переполнен, временная ошибка): событие пишется в статистику, адрес остаётся в рассылках.

Письмо возврата PostCraft связывает с рассылкой по адресу bounce+токен@домен или по полю Final-Recipient.

Ящики Local ставят в письмо Return-Path: bounce+токен@домен-отправителя. Чтобы возвраты доходили, на домене нужен ящик или алиас, который принимает адреса вида bounce+…. У ящиков SMTP обратный адрес выставляет SMTP-сервер, обычно это сам ящик отправителя. Укажите его в настройках IMAP.

Требуется PHP-расширение imap. Обработанные письма помечаются прочитанными.