Заметки
Почему маркетинговые сегменты постоянно формируются и почта из маркетинга не уходит
Почему маркетинговые сегменты постоянно формируются и почта из маркетинга не уходит: Агенты, cron, smtp, сегменты.
Почему маркетинговые сегменты постоянно формируются и почта из маркетинга не уходит. Основной фокус: Агенты, cron, smtp, сегменты.
Задача
Понять, почему письмо не создаёт нужную сущность, не отправляется или уходит не от того адреса.
Задача — почему маркетинговые сегменты постоянно формируются и почта из маркетинга не уходит. Агенты, cron, smtp, сегменты.
Главное — не искать один универсальный метод, а сначала определить сущность, права и слой API, через который выполняется действие.
Как это устроено
Почта в коробке проходит через несколько слоёв: подключённый ящик, CRM-правило, почтовое событие, шаблон, очередь, SMTP и DNS-проверки. Ошибка на одном слое часто выглядит как проблема другого.
Cron может запускаться, но конкретная очередь всё равно стоять из-за ошибок агента, неправильного пользователя, отключённого режима или зависшего фонового задания.
Если сценарий проверяется под администратором, отдельно повторите его под обычным пользователем. Для прав, CRM, задач, Диска и приложений это часто даёт другой результат.
Рабочий подход
Разделите входящую и исходящую почту. Для входящей проверьте ящик, правило создания CRM-сущности и уже существующие контакты. Для исходящей — шаблон, LID, отправителя, SMTP-лог и доставляемость.
Проверьте сервер, порт, TLS, логин, пароль приложения, отправителя, ограничения провайдера и системный LID. После этого смотрите почтовую очередь и SMTP-лог.
На коробке удобнее добавлять временное логирование рядом с местом выполнения кода, а в облаке — сохранять входящие и исходящие REST-запросы в свой журнал интеграции.
Частые ошибки
Нельзя проверять только папку «Отправленные». Письмо могло быть сформировано, но отклонено SMTP-сервером, антиспамом или политиками SPF/DKIM/DMARC.
- Проверять сценарий только под администратором и не видеть проблему прав обычного пользователя.
- Считать, что письмо отправлено клиенту, если оно появилось в интерфейсе, но не проверять SMTP-лог и доставляемость.
- Не логировать фактический запрос и ответ, из-за чего ошибка выглядит случайной.
Минимальный пример
Пример показывает только форму вызова. ID, права, обработчики и поля нужно заменить под свой портал.
* * * * * /usr/bin/php -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php