Почему 1С-Битрикс не отправляет письма: причины и что проверить
50
Время чтения: 9 минут
Письма о заказах и заявках перестали приходить. Пошаговая диагностика отправки почты на 1С-Битрикс: от журнала событий до SMTP.
Интернет-магазин на 1С-Битрикс не присылает письма о заказах, форма обратной связи молчит, клиенты не получают подтверждений. Причин несколько, и проверять их стоит по порядку: от самых простых к более сложным.
Как Битрикс отправляет почту
Когда на сайте происходит событие (новый заказ, заполненная форма), Битрикс создаёт запись почтового события. Затем письмо по шаблону отправляется функцией mail() сервера или другим способом, если он настроен. Поэтому проблема может быть на трёх уровнях: событие не создаётся, письмо не формируется или не доходит.
1. Журнал почтовых событий
В административном разделе почтовых событий посмотрите, появляются ли записи о новых событиях и какой у них статус: отправлено или нет. Если событий нет, проблема в самом коде формы или заказа. Если они есть, но не отправлены, идите дальше.
2. Почтовые шаблоны и сайт
Убедитесь, что почтовый шаблон активен, привязан к нужному сайту и в нём заполнены поля «От кого» и «Кому». Пустой или неверный адрес получателя приводит к тому, что письмо не отправляется.
3. Адрес отправителя в настройках
В настройках главного модуля проверьте «E-Mail адрес по умолчанию» и «Адрес отправителя». Он должен быть реальным адресом на вашем домене, иначе письма отклоняются получателями.
4. Агенты и cron
На сайтах с большой нагрузкой Битрикс отправляет письма через агентов. Если агенты вынесены на cron, а cron перестал работать, события копятся в очереди и письма не уходят. Проверьте, что задача cron выполняется.
5. Функция mail() отключена или режется хостингом
Многие хостинги ограничивают или отключают mail(). Тогда письма не отправляются без ошибок на сайте. Надёжное решение: перевести отправку на SMTP. В Битриксе это делается переопределением функции custom_mail() в файле /bitrix/php_interface/init.php с подключением библиотеки отправки (например, PHPMailer). Правку файла лучше поручить разработчику: ошибка в init.php ломает весь сайт.
6. DNS-записи домена
Даже отправленные письма могут уходить в спам, если у домена нет SPF, DKIM и DMARC или у сервера нет PTR. Проверьте домен в инструмент проверки почты домена, а настройка записей описана в статье про SPF, DKIM и DMARC.
Вы будете получать статьи по нашим направлениям, советы и кейсы предпринимателей
Что делать, если не получилось
Если по списку причина не нашлась, нужна диагностика на самом сайте: журнал почтовых событий, логи PHP и тестовая отправка. Мы выполняем настройку почтовых событий в 1С-Битрикс, а также ведём сайты на поддержке 1С-Битрикс.
Частые вопросы
Где в Битриксе посмотреть, отправлялось ли письмо?
В административном разделе почтовых событий хранятся записи о созданных событиях и их статусе. Если событие есть, но не отправлено, смотрите настройки шаблона, агентов и отправку на сервере.
Почему письма не уходят после переноса сайта?
Частые причины: на новом хостинге ограничена функция mail(), не настроен cron для агентов или изменился адрес отправителя и DNS-записи домена.
Можно ли перевести Битрикс на отправку через SMTP?
Да. Для этого переопределяют функцию custom_mail() в файле init.php и подключают библиотеку отправки. Правку лучше выполнять разработчику, потому что ошибка в init.php ломает сайт.