Уведомления и cron

Xcomm3x2 мин чтенияСтраница 8 из 11
На этой странице 2

Уведомления не отправляются синхронно при публикации комментария — они помещаются в очередь (xcomm3x_mail_queue). Отправка выполняется cron-скриптом core/components/xcomm3x/cron/send_mail_queue.php.

Каналы:

  • manager — письмо на адрес из настройки xcomm3x.notify_manager_email
  • resource_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 дней. Скрипт работает только из консоли.