Введите поисковый запрос

Проблема с отправкой писем в Битрикс

В сегодняшней статье хочу рассказать об основных проблемах с почтой в CMS 1с-Битрикс.
Порой до адресата не доходят письма и нужно понять, а отправляются ли они вообще? А может они были отправлены, но возникли, какие-то другие ошибки. Так что же делать в таких ситуациях?

ПРОВЕРИТЬ ОТПРАВЛЯЮТСЯ ЛИ ПИСЬМА

Для проверки достаточно на любой страничке написать следующий php код:


$mail="my@mail.ru"; // ваша почта $subject ="Test" ; // тема письма $text= "Line 1\nLine 2\nLine 3"; // текст письма 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’ или 0 — письмо не отправлено;
‘F’ — ошибка
Если найденные записи имеют значение ‘Y’ — это означает, что они отправлены и проблем быть не должно.
Но у нас всё плохо, значит обращаемся в тех. поддержку хостинга.

Если ‘N’ или 0- письма по какой-то причине не ушли.
Может помочь такое решение:
перейдите по пути: <вашсайт>/bitrix/php_interface/dbconn.php

Закомментируйте или удалите следующие строки:

define('BX_CRONTAB', true);
define('BX_CRONTAB_SUPPORT', true);


Попробуйте протестировать снова. Если после этого SUCCESS_EXEC также имеет значение ‘N’, то перейдите в  <вашсайт>/bitrix/managed_cache/ . Удалите содержимое через модуль управления структурой( не в коем случае не используйте FTP). Если вылезет ошибка, то не хватает доступа. Измените доступ к папкам и повторите снова.

Еще один способ — воспользоваться встроенными методами CMS Битрикс по диагностике.

  • Проверка системы — <вашсайт>/bitrix/admin/site_checker.php
  • Монитор качества — <вашсайт>/bitrix/admin/checklist.php

Ошибки, найденные в процессе диагностики, могут являються причиной вашей проблемы.

Возможная ошибка — почтовый сервер не поддерживает формат письма. Попробуйте изменить настройки отправки.

  • Убрать BBC
  • Убрать дублирование email в заголовке
  • Установить Конвертировать 8-битные заголовки

Если ничего не помогло, попробуйте запросить у хостера логи почтового сервера.

Хочу рассмотреть частный случай:

 НЕ ПРИХОДЯТ НА ПОЧТУ УВЕДОМЛЕНИЯ О ЗАПОЛНЕНИИ ВЕБ-ФОРМ

Шаги решения проблемы:

  1. Переходим в админ панель: Настройки -> Настройки продукта ->Настройки модулей  -> Веб-формы. Отключаем флажок «использовать упрощенный режим». Переходим к настройкам компонента веб-форм на сайте. Вкладка дополнительно. Должен присутствовать флажок активирующий привязку к почтовому шаблону.
  2. Переходим: Панель управления -> Настройки -> Настройки продукта -> Почтовые события. Находим почтовый шаблон для веб-формы. Проверяем правильность данных:
  • Шаблон должен быть активен;
  • Привязан к одному из сайтов(если многосайтовость);
  • От кого: #DEFAULT_EMAIL_FROM#;
  • Кому: #DEFAULT_EMAIL_FROM#».




Ваша оценка:

Комментарии (0)


Оставить заявку
 
 

Денис Бунаков

C 2012 года являюсь Битрикс Программистом.
Программист 1С:Битрикс – это веб-разработчик с узким профилем, который работает непосредственно с продукцией от компании 1С.