Неполадки с почтой на «Битрикс». Как исправить?
Без обратной связи сайт словно паралитик: все видит, а сказать ничего не может. Не поступают данные с веб — форм, корпоративные ящики не работают совсем или настраиваются с удивительными ухищрениями. Деньги заплачены, а про-стей-шая, э-ле-мен-тар-ней-шая, важ-ней-шая рабочая задача не решена! Что делать?
Проверяем настройки почтового события веб-формы и связанные шаблоны
Давайте перейдем по пути Панель управления -> Настройки -> Настройки продукта -> Почтовые события и выберем событие.
1. На первой вкладке галочки кодов языка включены?
2. На вкладке «Шаблоны» галочка имени сайта включена?
3. Почтовый шаблон активен?
4. Поле «От кого» заполнено верно (по умолчанию #DEFAULT_EMAIL_FROM#) ?
5. Поле «Кому» заполнено верно (по умолчанию #EMAIL#) ?
Все верно? Смотрим дальше. В настройках модуля веб-формы отключите галочку «использовать упрощенный режим». Перейдите в настройки формы на вкладку «дополнительно» и проверьте, включен ли флаг привязки к почтовому шаблону. Готово?
Перейдите по адресу Настройки -> Инструменты -> SQL-запрос и выполните такой запрос:
select * from b_event where event_name like ‘%form%’ order by date_insert desc
Найдя событие выполнения формы, просмотрите поле SUCCESS_EXEC. Если видите «Y», то письмо из продукта ушло, и вам следует отправить запрос в техподдержку хостинга. Если видите «N», то перейдите в файл
и проверьте, определены ли 2 переменные: BX_CRONTAB и BX_CRONTAB_SUPPORT. Если да, то отмените определение.
Повторите SQL-запрос и снова просмотрите поле SUCCESS_EXEC. Если снова видите «N», очистите кэш в папке /bitrix/managed_cache/ через модуль управления структурой. Ни в коем случае ни через FTP! Если модуль выдаст ошибку, исправьте права доступа к папкам.
Если же значение «F», то функция mail() вернула значение False при отправке. Почему так бывает:
1. Не настроена функция mail() на хостинге. Обратитесь в техподдержку хостера.
2. Почтовый сервер не поддерживает формат письма. Попробуйте изменять настройки отправки, убирать поле ВСС, убирать галочку «Дублировать email адрес в заголовке», ставить «Конвертировать 8-битные заголовки». Если не поможет, запросите у администратора логи почтового сервера.
Наконец, если в поле «0», вернитесь к началу, настройкам почтовых событий, и проверьте заново.
Спасибо за внимание!
Читайте свежий выпуск «Кладовки программиста» каждый день!
Статьи
Не редкость что у пользователей или начинающих программистов после установки продукта по каким то непонятным причинам не происходит отправка писем из 1С-Битрикс.
Перед тем как приступать к устранению попробуйте проверить отправляется ли почта через функцию php, mail. Проверить можно в левом меню Настройки — Инструменты — Командная PHP-строка. В текстовом поле введите примерно следующее.
$headers = «From: test@». $_SERVER[‘HTTP_HOST’] . «\r\n» .
«Reply-To: test@». $_SERVER[‘HTTP_HOST’] . «\r\n» .
«X-Mailer: PHP/» . phpversion();
if( mail(«mymail@mydomain.ru«,»my test theme»,»my test message»,$headers) )
echo «Почта работает!»;
>else
echo «Почта не работает! Скорее всего проблема в sendmail»;
>
Как правило на это есть всего несколько основных причин.

Первая причина: Битрикс установлен у вас на локальном ПК. Соответственно вам необходимо настроить почтовик.
Настройка почтовика очень проста:
1) Откройте настройки Битрикс веб окружения;
2) Настройте подобным образом ка на рисунке
В разделе почта настройте сервер SMTP укажите к примеру SMTP сервер вашей реальной почты. В отправителя впишите ваш почтовый ящик. Логин как правило это либо имя ящика либо его полное название т.е. mymail@mydomain.ru. И не забудьте поставить галочку Использовать авторизацию, т.к. в большинстве случаев она необходима.

Вторая причина: Виноват ваш хостинг. Либо стоит ограничение на количество отправки писем в час/сутки либо на хостинге не верно указан отправитель. Вариантом исправления может быть далеко не один. Мы расскажем вам о паре вариантов в ОС Linux Debian.
Первый если у вас установлен ispmanager (так же подходит для тех у кого виртуальный хостинг) отредактируйте файл /var/www/USER/data/php-bin/.php.ini если в нем нет строки sendmail_path = «/usr/sbin/sendmail -t -i -f mymail@mydomain.ru» добавьте ее mymail@mydomain.ru измените на ваш реальный почтовый ящик (существующий).
Второй у вас голый сервер т.е. только консоль. То выясните в каком режиме работает ваш сайт. К примеру если в режиме CGI, fastCGI то отредактируйте файл /etc/php5/cgi/php.ini. Найдите в этом файле строку sendmail_path как показано на рисунке
раскомментируйте sendmail_path и исправьте ее как в первом варианте на sendmail_path = «/usr/sbin/sendmail -t -i -f mymail@mydomain.ru». Сохраните и перезапустите apache.

Третья причина: Пожалуй самая глупая. Не выбран сайт в почтовом шаблоне Битрикс, на рисунке все четко показано.
Необходимо просто поставить галочку и сохранить почтовый шаблон.
Почтовые шаблоны находятся в левом меню Настройки — Настройки продукта — Почтовые события — Почтовые шаблоны. Обязательно проверьте что бы на необходимых шаблонах был выбран ваш сайт.
Не приходят письма битрикс
Многие операции в CMS Битрикс сопровождаются отправкой уведомления пользователя, при этом не редко возникает проблема: не приходят письма. Битрикс может работать ненадлежащим образом по нескольким причинам, рассмотрим их.
Для начала рассмотрим причины, ставшие появляться с завидной регулярностью, не зависящие от Битрикса – дело в том, что функция mail отправляет почту с сервера указывая в качестве отправителя почтовый ящик указанный в настройках домена. Лучше создать ящик вида info@мой-домен.ru , и настроить отправку писем от этого адресата. В частности, mail.ru блокирует почту, если она была отправлена с чужих серверов от имени mail.ru.
Также может помочь установка DKIM, SPF записи для Вашего домена.
Проверим функцию mail():
которая является надстройкой над:
mail('[email protected]','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
Проверьте наличие строки в файлах bitrix/php_interface/dbconnn.php и bitrix/php_interface/init.php
Должно быть проставлено
Эта строка отвечает за отправку писем не сразу, а через назначенные задания (cron).
Также проверьте активность и привязку к сайту почтовых шаблонов. Попробуйте сэмулировать какое либо стандартное событие, например, восстановить пароль в битрикс.
В случае возникновения проблем, обращайтесь!
- Форма обратной связи ajax
- Битрикс бесконечная прокрутка страниц
- data-skip-moving битрикс
- Битрикс многосайтовость
- Bitrix server test
- Битрикс меню каталога
- Битрикс не добавляются товары в корзину
- Перенос сайта на битриксе на другой хостинг
- Перенос сайта на битрикс
- Битрикс сео оптимизация
- Ssl сертификат Битрикс
- Битрикс выгрузка на яндекс маркет
- Битрикс добавляем google analytics и яндекс метрику
- Цели яндекс метрика & google analytics битрикс
- phpmyadmin на битрикс
- Эквайринг битрикс
- Конвертер на лету. Webp в битрикс
- Битрикс, авторизация скриптом
- Правильное добавление CSS и JS файлов в битрикс
- Добавление свойств товара в корзину Битрикс
- Настройки ошибки 404
- Битрикс Яндекс.Касса
- Размещаем robots.txt в Битрикс
- Битрикс остатки по складам
- Настройка поиска
Комментарии:
2018.10.24
Евгений
Спасибо! Вопрос. Есть форма обратной связи на сайте. Заполняю и нажимаю отправить. Письмо мне не приходит, пока я не совершу активность на сайте, например не перейду на другую страницу. Куда копать?
2018.10.30
Кирилл
Здравствуйте, Евгений!
Скорее всего у вас агенты отправки писем выполняются на хите, т.е. при какой либо активности на сайте.
Вот статья, в которой описано решение проблемы:
или оставьте свой телефон, мы вам поможем http://www.bbitrix.ru/uslugi.php
2021.06.22
Сергей
Формы настроены на правильные почтовые события, почтовые шаблоны активны, у всех в поле «скрытая копия» указано #BCC#, email-ы в соответствующем поле в настройках главного модуля проставлены (от gmail, mail.ru и yandex). Почта при заполнении форм не приходит, хотя функция mail отрабатывает правильно и в базе все статусы SUCCESS_EXEC = Y. Не знаю уже куда копать
Оставить комментарий
Почему битрикс не отправляет письма
Для проверки достаточно на любой страничке написать следующий php код:
<? $mail = "you_mail_for_test@rambler.ru"; // ваш email $subject = "Тема тестового письма" ; // тема письма $text = "Тестовое письмо"; // текст письма if(mail($mail, $subject, $text)) < echo 'Успешно отправлено!'; >else < echo 'Отправка не удалась!'; >?>
Либо использовать для отправки письма функцию bitrix CEvent::Send. Если письмо не пришло, можно обращаться в тех. поддержку хостера.
СПИСОК ОТПРАВЛЕННЫХ ПИСЕМ
В битриксе нет как такого инструмента, который бы показывал сработавшие почтовые шаблоны и соответствующие отправленные письма. Но всё таки существует обходной путь, как просмотреть их. Для этого нужно зайти в Админку Битрикс, далее Настройки -> Инструменты -> SQL-запрос. Ввести следующий sql код:
select * from b_event where event_name like '%form%' order by date_insert desc
Вместо %form% нужно указать конкретный тип почтового события например так, чтобы посмотреть отправленные письма о новых заказах:
select * from b_event where event_name like 'SALE_NEW_ORDER' order by date_insert desc
Либо можете вообще убрать вторую строку. В результате получите таблицу всех сработавших событий. Нас интересует колонка SUCCESS_EXEC. Если значение ‘Y’ обращаемся в тех. поддержку хостинга.
Если ‘N’, то перейдите по пути: /bitrix/php_interface/dbconn.php Закомментируйте или удалите следующие строки:
define('BX_CRONTAB', true); define('BX_CRONTAB_SUPPORT', true);
/bitrix/managed_cache/ . Удалите содержимое через модуль управления структурой( не в коем случае не используйте FTP). Если вылезет ошибка, то не хватает доступа. Измените доступ к папкам и повторите снова.
Если ничего не помогло, попробуйте запросить у хостера логи почтового сервера.