Почему не отправляются письма с сайта?

В этой статье мы расскажем вам о том, где смотреть причины ошибки неотправленной почты в Битриксе. Рассмотрим три основных мест, откуда можно найти ошибку отправки писем.

Проверка таблицы очереди писем

Идем в административную панель Битрикса по пути: Настройки / Производительность / Таблицы. Ищем таблицу b_event и проваливаемся по ссылке.

Именно в эту таблицу попадают письма с сайта в очередь, а затем отправляются на хитах или на агентах.

Почему не отправляются письма с сайта?

На открывшейся странице можем отыскать сообщение, которое не отправилось. Проматываем в самый конец к колонке SUCCESS_EXEC – это колонка записывает состояние отправки письма.

Почему не отправляются письма с сайта?

Варианты статуса отправки (SUCCESS_EXEC):

Y – означает, что письмо было успешно отправлено

N – говорит о том, что событие еще не обработано и письмо не отправлено. В этом случае стоит полную проверку сайта и проверить настройки dbconn.php. Проверить корректность настройки почтовых шаблонов и их привязки к сайтам.

F – сообщение не было отправлено. Необходимо проверить логи сервера или хостинга.

0 – не активен или отсутствует почтовый шаблон (Настройки / Настройки продукта / Почтовые шаблоны)

Проверка системы

Проверка системы расположена на странице Настройки / Инструменты / Проверка системы. В проверке уже встроен инструмент, который проверяет возможность отправки письма с помощью стандартной PHP функции mail. Этаки быстрый проверяльщик работы почты.

Почему не отправляются письма с сайта?

Если здесь уже возникает ошибка, то проблему стоит идти смотреть в логи сервера.

Проверка логов сервера

Если ошибка ошибка идет глубже и у вас VM Bitrix, идем в консоль сервера по пути /home/bitrix/ и ищем логи с префиксом .msmtp_ (по умолчанию). Смотрим и ловим ошибки в этом файле. Логи лучше просматривать с помощью утилиты mc.

Сама конфигурация почтовых настроек расположена в файле /home/bitrix/.msmtrpc

Если письма в Битриксе отмечены как успешно отправленные, но письмо не пришло и в логах отсутствует какая-либо информация – следует обратить внимание на логи в /var/log/. Там отобразится ошибка, которая возвращается функцией mail.

Проверить возможность отправки также можно с помощью консольных команд (но в данном случае будет использоваться отправитель по умолчанию – default)

> php -a
> mail('test@example.com', "Test", "Test message");
> exit

Если произойдет ошибка при отправке, то сообщение будет у вас на экране.

Ошибки

Частая ошибка – это когда в письмах отправителем указан адрес отличимый от названия аккаунта (поле FROM). Поэтому задайте в настройках сайта нужный адрес или в почтовых шаблонах в поле «От кого». В этом случае, если требуется, чтобы человек мог ответить на другую почту, то можете указать электронную почту в качестве обратного адреса в почтовом шаблоне.

Другая ошибка – это отсутствие настроек для отправителя по умолчанию. Необходимо внести корректные настройки адреса отправителя (указать tsl, метод авторизации и т.п.)

Почему не отправляются письма с сайта?

На этом все, надеюсь статья была вам полезна. Если у вас возникнут вопросы, задавайте в комментарий.