- MODX 2
- MODX 3
- PHP 7.2
Настройки, cron и возвраты
Системные настройки
Все настройки лежат в пространстве имён postcraft.
| Ключ | По умолчанию | Назначение |
|---|---|---|
postcraft_timezone | пусто | часовой пояс дня и окна отправки, например Europe/Moscow. Пусто: пояс PHP |
postcraft_rate_hour | 60 | писем в час по умолчанию, если у ящика «В час» = 0 |
postcraft_rate_day | 400 | писем в день по умолчанию, если у ящика «В день» = 0 |
postcraft_cron_batch | 20 | максимум писем с одного ящика за один проход крона, если у ящика «За запуск крона» = 0 |
postcraft_autopause_bounce_pct | 8 | автопауза, если hard bounce выше этого % от принятых (после 20 принятых). 0 — выкл. |
postcraft_autopause_fail_streak | 5 | автопауза после стольких подряд ошибок отправки за один проход крона |
postcraft_sites | создаётся при установке | JSON со списком сайтов, см. Несколько сайтов |
postcraft_unsub_pages | {} | тексты страниц отписки. Правьте их на вкладке «Страница отписки» |
postcraft_role | hub | hub или edge |
postcraft_hub_url | пусто | для edge: адрес hub |
postcraft_edge_secret | создаётся при установке | общий ключ hub и edge |
postcraft_bounce_imap_host | пусто | IMAP-сервер ящика для возвратов. Пусто: разбор выключен |
postcraft_bounce_imap_port | 993 | порт IMAP, соединение по SSL |
postcraft_bounce_imap_user | пусто | логин IMAP |
postcraft_bounce_imap_pass | пусто | пароль IMAP |
postcraft_bounce_imap_mailbox | INBOX | папка |
Обновление пакета не меняет значения, которые вы уже поставили.
Cron
* * * * * php /path/to/site/core/components/postcraft/cron.phpКаждый запуск в течение ~40 секунд забирает очередь с учётом лимитов ящика (час / день / пачка). Письма сверх лимита откладываются на следующий час или день. Если настроен IMAP, после очереди разбираются до 20 новых возвратов. Отдельная задача bounce разбирает до 50 за запуск:
*/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. Обработанные письма помечаются прочитанными.
