--------------------
Vestnik — сервис транзакционных email-уведомлений для MODX3
--------------------
Author: Ivan K.
--------------------

Для MODX Revolution 3.x.

Событие → правило → получатели → шаблон → очередь → отправка по крону → журнал.
Мгновенной отправки нет: все письма проходят через очередь и уходят по крону.

УСТАНОВКА КРОНА (обязательно для отправки писем):
  Добавьте в системный планировщик запуск CLI-скрипта, например раз в минуту:
    * * * * * php /путь/к/сайту/core/components/vestnik/cron.php >> /путь/vestnik-cron.log 2>&1

НАСТРОЙКИ (Система → Настройки, пространство vestnik):
  vestnik_admin_email   — адрес администратора по умолчанию
  vestnik_from_email    — email отправителя по умолчанию
  vestnik_from_name     — имя отправителя по умолчанию
  vestnik_batch_size    — размер пачки при отправке по крону (20)
  vestnik_max_attempts  — лимит повторных попыток (3)
  vestnik_debug_mode    — все письма уходят на один тестовый адрес
  vestnik_debug_email   — тестовый адрес для отладочного режима

ИСТОЧНИКИ СОБЫТИЙ:
  1. Стандартные события MODX — ловит плагин vestnik.dispatcher
     (OnUserActivate, OnUserSave, OnUserRemove, OnUserFormSave, OnWebLogin,
      OnManagerLogin, OnDocPublished, OnDocFormSave). Другое событие подключается
     привязкой плагина vestnik.dispatcher к нему в менеджере:
     Элементы → Плагины → vestnik.dispatcher → вкладка «Системные события».
  2. Ручной вызов из шаблона/чанка:
     [[!vestnik_notify? &event=`order.paid` &email=`[[+email]]` &data=`{"order_id":"105"}`]]
  3. Из кода компонента:
     $modx->services->get('Vestnik')->trigger('shop.order.new', $data, 'component');

РАСШИРЯЕМОСТЬ (системные события для сторонних плагинов):
  OnVestnikBeforeQueue — перед постановкой писем в очередь (можно отменить/изменить данные)
  OnVestnikBeforeSend  — перед отправкой письма (можно отменить/сменить канал)
  OnVestnikAfterSend   — после попытки отправки

https://modxprofi.ru
https://docs.ivan345.com/books/vestnik
