Многие операции в CMS Битрикс сопровождаются отправкой уведомления пользователя, при этом не редко возникает проблема: не приходят письма. Битрикс может работать ненадлежащим образом по нескольким причинам, рассмотрим их.
Для начала рассмотрим причины, ставшие появляться с завидной регулярностью, не зависящие от Битрикса – дело в том, что функция mail отправляет почту с сервера указывая в качестве отправителя почтовый ящик указанный в настройках домена. Лучше создать ящик вида info@мой-домен.ru , и настроить отправку писем от этого адресата. В частности, mail.ru блокирует почту, если она была отправлена с чужих серверов от имени mail.ru.
Также может помочь установка DKIM, SPF записи для Вашего домена.
Проверим функцию mail():
которая является надстройкой над:mail('test@test.ru','test','test');
Если работает – проблема вероятно, в битриксе, если нет – ищем проблему в хостинге.
Теперь рассмотрим, от чего же возникает ошибка не приходят письма битрикс, в части самой системы. Для начала проверим, отправляет ли их система, для этого из раздела /bitrix/admin/sql.php?lang=ru&del_query=Y (рабочий стол – настройки – инструменты – SQL запрос) выполним запрос:
SELECT * FROM b_event;
Получим что-то вроде:
В самом конце таблицы мы видим: SUCCESS_EXEC = Y или же SUCCESS_EXEC = N
В случае если SUCCESS_EXEC = Y – проблему следует искать не в системе, битрикс письмо отправил. Возможно, ваш сервер добавлен в спам-лист и письмо фильтруется на стадии доставки.
Если SUCCESS_EXEC = N
Проверьте наличие строки <? define("BX_CRONTAB_SUPPORT", true);?> в файлах bitrix/php_interface/dbconnn.php и bitrix/php_interface/init.php
Должно быть проставлено <?define("BX_CRONTAB_SUPPORT", false);?>
Эта строка отвечает за отправку писем не сразу, а через назначенные задания (cron).
Также проверьте активность и привязку к сайту почтовых шаблонов. Попробуйте сэмулировать какое либо стандартное событие, например, восстановить пароль в битрикс.
В случае возникновения проблем, обращайтесь!