Как посмотреть список отправленных писем в Битрикс
При настройке интернет-магазина или корпоративного сайта на 1С-Битрикс часто возникает необходимость проверить, были ли сформированы и отправлены письма. Это особенно актуально, если перестали приходить уведомления о заказах, регистрации пользователей или восстановлении пароля.
В этой статье рассмотрим несколько способов посмотреть список писем в Битрикс и определить причину возможных проблем.
Просмотр писем через административную панель
Самый простой способ — воспользоваться административным разделом сайта.
Перейдите в:
Настройки → Инструменты → Почтовые события
Здесь отображается журнал почтовых событий, в котором можно увидеть:
- дату создания письма;
- тип почтового события;
- получателя;
- тему письма;
- статус отправки;
- возможные ошибки.
Если письмо не было отправлено, в журнале обычно отображается причина ошибки.
Просмотр писем через базу данных
Если административная панель недоступна или требуется быстро проверить последние записи, можно посмотреть содержимое таблицы b_event.
Выполните SQL-запрос:
SELECT * FROM b_event
ORDER BY ID DESC;
Он выведет список последних почтовых событий.
Наиболее полезные поля:
- ID — идентификатор события;
- EVENT_NAME — код почтового события;
- LID — сайт;
- C_FIELDS — данные, переданные в шаблон письма;
- DATE_INSERT — дата создания;
- SUCCESS_EXEC — результат отправки.
Значения поля SUCCESS_EXEC:
- Y — письмо успешно отправлено;
- N — произошла ошибка при отправке;
- P — письмо ожидает обработки агентом или очередью.
Как посмотреть текст письма
В таблице b_event хранится не только информация об отправке, но и данные, которые были переданы в шаблон письма.
Полный шаблон письма находится в административной панели:
Настройки → Настройки продукта → Почтовые события → Почтовые шаблоны
Именно здесь можно посмотреть тему письма, текст, HTML-версию и используемые макросы.
Если таблица b_event пустая
Если запрос не возвращает записей, возможны несколько причин:
- код
CEvent::Send()или современный API не выполняется; - не создается почтовое событие;
- срабатывает условие, из-за которого письмо не формируется;
- используется другой механизм отправки писем.
В этом случае рекомендуется проверить место вызова отправки письма и убедиться, что код действительно выполняется.
Если письма есть, но не отправляются
Когда записи появляются в таблице b_event, но письма не доходят до получателя, следует проверить:
- настройки SMTP;
- работу функции
mail()или SMTP-сервера; - очередь агентов;
- журнал ошибок PHP;
- настройки почтового сервера (SPF, DKIM, DMARC).
Если в поле SUCCESS_EXEC указано значение N, это означает, что Битрикс не смог отправить письмо.
Полезный SQL-запрос
Для просмотра последних почтовых событий чаще всего достаточно выполнить:
SELECT *
FROM b_event
ORDER BY ID DESC;
При необходимости можно вывести только неотправленные письма:
SELECT *
FROM b_event
WHERE SUCCESS_EXEC = 'N'
ORDER BY ID DESC;
Итоги
Для проверки отправки писем в Битрикс существует два основных способа:
- Просмотреть журнал почтовых событий через административную панель.
- Проверить таблицу b_event в базе данных.
В большинстве случаев именно запрос
SELECT * FROM b_event ORDER BY ID DESC;
позволяет быстро понять, создаются ли почтовые события, какие данные передаются в шаблон и успешно ли выполняется отправка. Это значительно ускоряет поиск причин, по которым не приходят письма с сайта на 1С-Битрикс.