Уведомления не отправляются синхронно при публикации комментария — они помещаются в очередь (xcomm3x_mail_queue). Отправка выполняется cron-скриптом core/components/xcomm3x/cron/send_mail_queue.php.
Каналы:
manager— письмо на адрес из настройкиxcomm3x.notify_manager_emailresource_author— письмо автору страницы (если включено в настройках)parent_author— письмо автору комментария, на который ответили (включено по умолчанию)
Канал manager не поддерживает отписку. Остальные каналы — поддерживают; перед отправкой скрипт проверяет таблицу xcomm3x_mail_unsubscribe.
Поведение при ошибке: до 3 попыток отправки. После 3 неудач статус письма меняется на failed (2). Повторить отправку вручную можно из вкладки «Email очередь» в панели администратора.
Шаблоны писем — чанки MODX. Имена чанков задаются в системных настройках компонента. Доступные плейсхолдеры: site_name, resource_title, resource_url, comment_id, author_name, author_email, text, comment_date, unsubscribe_url.
Уведомления и модерация
Менеджер получает письмо, когда комментарий ожидает модерации или опубликован сразу. Авторы страницы и родительского комментария получают письмо только после публикации. О спаме письма не отправляются. Если автор изменил опубликованный комментарий при включённой премодерации, комментарий снова уходит на модерацию.
Cron — отправка email-уведомлений
Email-уведомления складываются в очередь при публикации комментария. Для фактической отправки необходимо настроить cron-задачу.
Путь к скрипту:
core/components/xcomm3x/cron/send_mail_queue.php
Пример записи cron (запуск каждые 5 минут):
*/5 * * * * /usr/bin/php /var/www/site/core/components/xcomm3x/cron/send_mail_queue.php
Поведение скрипта:
- Обрабатывает до 50 писем за один запуск
- При неудаче повторяет попытку, максимум 3 раза; после этого статус меняется на
failed - Перед отправкой проверяет таблицу отписок — письма отписавшимся пропускаются
- Канал
managerне поддерживает отписку
Мониторинг: вкладка «Email очередь» в панели компонента показывает статус каждого письма. Письма со статусом «Ошибка» можно повторить вручную.
Кроме русских, в комплекте английские чанки писем xcomm3x_mail_en_* — укажите их в настройках xcomm3x.tpl_*. Отправленные и пропущенные письма cron удаляет через xcomm3x.mail_queue_keep_days дней. Скрипт работает только из консоли.