Перейти к содержимому

Рассылка не отправляется - разбор причин

Рассылка создана и запущена, а получатели ничего не видят. Разбираем причины в порядке убывания частоты.

С чего начать

Смотрим состояние рассылки и сколько писем разобрано:

use Bitrix\Main\Loader;
use Bitrix\Sender\PostingTable;
Loader::includeModule('sender');
$rows = PostingTable::getList([
'select' => ['ID', 'STATUS', 'DATE_SENT', 'COUNT_SEND_ALL'],
'order' => ['ID' => 'DESC'],
'limit' => 5,
])->fetchAll();
foreach ($rows as $row) {
printf("%-6s статус=%-3s отправлено=%s\n",
$row['ID'], $row['STATUS'], $row['COUNT_SEND_ALL']);
}

Ноль отправленных при состоянии отправки означает, что до писем дело не дошло вовсе. Растущее число, наоборот, говорит, что рассылка идёт и вопрос только в скорости.

Проверяем агентов и очередь писем:

Окно терминала
# рассылку разбирает агент: без агентов состояние не меняется никогда
crontab -l -u bitrix | grep -c cron_events
mailq | tail -5 # что стоит в очереди почтового сервера
tail -20 /var/log/maillog 2>/dev/null | grep -i 'status='
# в веб-окружении письма уходят своей программой и пишут собственный журнал

Агенты - первое, что проверяют при молчащей рассылке. Дальше смотрят почтовую очередь сервера: письма могут уходить с сайта исправно и застревать уже за его пределами, у почтовой программы или у сервиса.

Смотрим размер сегмента получателей:

use Bitrix\Sender\ContactTable;
// сколько контактов вообще есть и сколько из них отписано
printf("контактов: %d\n", ContactTable::getCount([]));
printf("отписано: %d\n", ContactTable::getCount(['=BLACKLISTED' => 'Y']));

Пустой или почти пустой сегмент объясняет мгновенно «отправленную» рассылку без единого письма. Отписанные и недоставляемые адреса модуль исключает сам, и разница между размером базы и числом получателей обычно именно в них.

Причины

  1. Агенты не выполняются примерно 35% случаев

    ПризнакРассылка остаётся в состоянии отправки, число отправленных не меняется.

    ПроверкаСмотрим, запускается ли обработчик агентов и когда агенты выполнялись в последний раз.

    Что делатьВозвращаем запуск агентов по расписанию: отправку рассылки выполняет именно агент.

  2. Сегмент получателей пуст примерно 25% случаев

    ПризнакРассылка помечена отправленной сразу после запуска, писем ноль.

    ПроверкаОткрываем сегмент и смотрим число контактов в нём после применения условий.

    Что делатьПравим условия сегмента: слишком узкий отбор оставляет список получателей пустым.

  3. Упёрлись в предел почтового сервиса примерно 20% случаев

    ПризнакЧасть писем ушла, остальные стоят, в журнале сервера отказы от сервиса.

    ПроверкаЧитаем ответы почтового сервера в журнале: там виден текст отказа и предел.

    Что делатьСнижаем размер порции в настройках модуля либо переходим на сервис, рассчитанный на рассылки.

  4. Адреса отписаны или помечены недоставляемыми примерно 12% случаев

    ПризнакЧисло получателей заметно меньше размера базы контактов.

    ПроверкаСмотрим признак отказа и недоставляемости у контактов сегмента.

    Что делатьЧистим базу и не возвращаем отписавшихся: повторная отправка им портит репутацию домена.

  5. Письма уходят, но попадают в спам примерно 8% случаев

    ПризнакРассылка помечена отправленной, получатели писем не видят.

    ПроверкаПроверяем записи домена, подтверждающие право отправлять от его имени, и репутацию адреса.

    Что делатьНастраиваем записи домена и отправляем массовые письма через сервис с репутацией, а не с сервера сайта.

Частые вопросы

Можно ли ускорить рассылку?

Размером порции в настройках модуля и частотой запуска агентов. Верхний предел всё равно ставит почтовый сервис, и обойти его настройками сайта нельзя.

Почему часть писем ушла, а часть нет?

Отправка идёт порциями, и обрыв на середине - обычное дело. Рассылка продолжится со следующего запуска агента.

Как проверить рассылку до отправки?

Тестовой отправкой на свой адрес: она обходит очередь и показывает письмо целиком. Ссылки и картинки в нём проверяют сразу.

Что делать с недоставляемыми адресами?

Помечать и исключать из сегментов. Повторная отправка на несуществующие ящики бьёт по репутации домена сильнее, чем кажется.

Смежное

Первоисточник