Почему битрикс не отправляет письма
Перейти к содержимому

Почему битрикс не отправляет письма

  • автор:

Неполадки с почтой на «Битрикс». Как исправить?

Без обратной связи сайт словно паралитик: все видит, а сказать ничего не может. Не поступают данные с веб — форм, корпоративные ящики не работают совсем или настраиваются с удивительными ухищрениями. Деньги заплачены, а про-стей-шая, э-ле-мен-тар-ней-шая, важ-ней-шая рабочая задача не решена! Что делать?

Проверяем настройки почтового события веб-формы и связанные шаблоны

Давайте перейдем по пути Панель управления -> Настройки -> Настройки продукта -> Почтовые события и выберем событие.

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», вернитесь к началу, настройкам почтовых событий, и проверьте заново.

Спасибо за внимание!
Читайте свежий выпуск «Кладовки программиста» каждый день!

Не приходят письма битрикс

Многие операции в 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. Не знаю уже куда копать

Оставить комментарий

Статьи

Не редкость что у пользователей или начинающих программистов после установки продукта по каким то непонятным причинам не происходит отправка писем из 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»;
>

Как правило на это есть всего несколько основных причин.

Настройка localhost рис.1

Первая причина: Битрикс установлен у вас на локальном ПК. Соответственно вам необходимо настроить почтовик.
Настройка почтовика очень проста:
1) Откройте настройки Битрикс веб окружения;
2) Настройте подобным образом ка на рисунке

В разделе почта настройте сервер SMTP укажите к примеру SMTP сервер вашей реальной почты. В отправителя впишите ваш почтовый ящик. Логин как правило это либо имя ящика либо его полное название т.е. mymail@mydomain.ru. И не забудьте поставить галочку Использовать авторизацию, т.к. в большинстве случаев она необходима.

Настройка отправки почты рис.1

Вторая причина: Виноват ваш хостинг. Либо стоит ограничение на количество отправки писем в час/сутки либо на хостинге не верно указан отправитель. Вариантом исправления может быть далеко не один. Мы расскажем вам о паре вариантов в ОС 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.

Почтовый шаблон битрикс

Третья причина: Пожалуй самая глупая. Не выбран сайт в почтовом шаблоне Битрикс, на рисунке все четко показано.

Необходимо просто поставить галочку и сохранить почтовый шаблон.
Почтовые шаблоны находятся в левом меню Настройки — Настройки продукта — Почтовые события — Почтовые шаблоны. Обязательно проверьте что бы на необходимых шаблонах был выбран ваш сайт.

Почему битрикс отправляет письма не сразу?

Смотрю в таблицу c_event и вижу, что письма уходит спустя 15-30 минут. Почему они не отправляются сразу и как можно это ускорить?

  • Вопрос задан более трёх лет назад
  • 3380 просмотров

Комментировать

Решения вопроса 1

gromdron

Работаю с Bitrix24

Чтобы не было сильных тормозов сайта отправка почты происходит на агентах в пачках по несколько штук за раз.
Агенты могут исполняться как на хитах, так и на cron. Если агенты исполняются на хитах, то если на сайте нет пользователей, то и агенты не выполняются (соответственно почта не уходит). Перевидите агенты на cron и она будет работать быстрее.

Ответ написан более трёх лет назад

Комментировать

Нравится 2 Комментировать

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *