Диагностика: правило включено, а письма нет

Идите по шагам сверху вниз. На каждом шаге — что проверить и что делать. Главный источник правды — Журнал: в нём записана причина.

Схема проверки

  1. Событие подошло под правило?
  2. Приём событий работает?
  3. Воркер (cron) запускается?
  4. Включён тестовый режим?
  5. Канал Email настроен?
  6. Получатель и условия?
  7. Что сказал Журнал?

Шаг 1. Событие, правило и заказ после включения

  • Правило включено (в списке правил состояние «Включено»), а не «Черновик». У нужного действия внутри правила стоит флажок «Включено» (выключенное действие ничего не отправляет).
  • Если у действия задан срок «Через N мин./ч/дн.», строка в Журнале со статусом «В очереди» до этого срока — норма: письмо уйдёт позже, не раньше назначенного времени (см. колонку «Время»).
  • Заказ оформлен после того, как вы нажали «Сохранить и включить». Старые заказы письма не получают.
  • Событие правила совпадает с тем, что произошло: «Создание заказа» — это оформление, «Оплата заказа» — оплата и т. д.
  • Витрина: если в правиле выбраны витрины, заказ должен быть с одной из них (точное совпадение домена и пути).

Шаг 2. Приём событий

Откройте любую страницу Automation. Под вкладками — строка о состоянии приёма:

  • «Приём событий заказов работает» — всё в порядке.
  • «Нет включённых правил — события заказов не принимаются» — включите правило. На уже случившиеся заказы оно не сработает.
  • «Приём событий остановлен аварийным выключателем в настройках плагина» — снимите галочку «Аварийная остановка приёма событий»: Shop-Script → Плагины → Automation. Заказы, оформленные во время остановки, не будут отправлены задним числом.

Шаг 3. Воркер (cron) не запускался или давно не запускался

Признак: в Каналах в блоке «Фоновый воркер (cron)» красная надпись «Воркер ещё ни разу не запускался» или предупреждение, что воркер не запускался более 10 минут; в Журнале — «В очереди».

  1. Откройте Каналы и скопируйте строку cron.
  2. Убедитесь, что она добавлена в cron того же пользователя, под которым работает сайт, и запускается каждую минуту.
  3. Попросите хостинг выполнить команду вручную из каталога сайта: php cli.php shop automationPluginWorker run --channel email. Она должна завершиться без ошибок и вывести строки «automation planner …» и «automation dispatcher …». Одна и та же команда обрабатывает и Email, и Push.
  4. Версия PHP в cron должна быть той же, что и у сайта (8.2–8.4), а часовой пояс — совпадать.
  5. После исправления подождите минуту: «Воркер работает. Последний запуск: …».

Шаг 4. Тестовый режим

Если в Журнале — «Пропущено» с причиной «Включён тестовый режим Email…», всё работает штатно: получатель не на тестовом домене, поэтому письмо не отправлено. Чтобы писать настоящим адресам, выключите тестовый режим (Email) — после проверки штатных уведомлений Shop-Script, иначе возможны дубли. Для проверки без выключения режима отправьте себе тестовое письмо.

Шаг 5. Настройки Email

В Каналах → Email: «Адрес отправителя» должен быть «указан». Если нет — задайте адрес отправителя в настройках Webasyst или адрес Email магазина в Shop-Script. Журнал при этом покажет «Не указан адрес отправителя». Ошибки «Почтовый сервер недоступен», «отказал в авторизации», «Не удалось установить TLS» означают проблему с настройками почтового сервера/SMTP у Webasyst или хостинга — обратитесь к тому, кто настраивал почту.

Шаг 6. Получатель и условия

  • Покупатель: у контакта заказа есть Email? Иначе «У получателя нет адреса электронной почты».
  • Сотрудник: есть Email, право на заказы (и заказ ему назначен, если право только на назначенные)? Сотрудник не заблокирован?
  • Условия: «Не подошло по условиям» — откройте правило, нажмите «Проверить на тестовом заказе» на этом заказе и посмотрите, какое условие не выполнено. «Не удалось проверить условия» — в событии нет данных для условия (например, способ оплаты).

Шаг 7. Что сказал Журнал

Откройте Журнал, найдите заказ (фильтр «Заказ»). Таблица статусов и причин — в Журнале. Статусы «Остановлено после повторов» (автоповторы закончились) и «Неизвестно: могло уйти» означают, что письмо нужно проверить вручную: устраните причину и нажмите «Повторить вручную…» (только администратор; при «Неизвестно» возможен дубль) — см. Журнал → безопасное восстановление. Если строки по заказу нет вообще — события не принимались (шаг 2) или правило не подошло по событию/витрине (шаг 1). Если есть «Принято почтовым сервером», а письма нет — проверьте «Спам» и адрес получателя: плагин видит только то, что сервер принял письмо.

Push не приходит

Push отправляется только покупателю заказа с подтверждённым устройством и только при выключенном тестовом режиме. Проверьте по порядку: канал выбран в действии; в Каналах готовы PWA, Premium, разрешение витрины; Журнал, причина «Пропущено» (нет устройства, гость, не разрешено…). Подробнее — PWA Push. Email при этом не зависит от Push.

Если ничего не помогло

Соберите: номер заказа, строку Журнала (статус и причина), скрин «Каналов». Дальше — к тому, кто обслуживает ваш сайт или хостинг.

Просмотр изображения
Оригинал