Если почта не уходит с сайта на битрикс, можно выполнить следующие рекомендации.
Чтобы проверить, создаются и выполняются ли стандартные события, можно зайти в административной части Настройки > Инструменты > SQL запрос и выполнить следующую команду.
Поле SUCCESS_EXEC говорит о том, было письмо передано серверу для отправки, это по сути то, что возвращает стандартная функция php mail, значение «Y» означает «отправлено», «N» — не отправлено, «0» — что по каким-то причинам отправка не была передана функции mail (это может быть также из-за отсутствия почтовых шаблонов для этого события).
Но если в поле SUCCESS_EXEC стоит «Y», а почта все равно не отправляется, можно проверить, отправляется ли почта средствами php (имейте в виду, что на большинстве хостингов то, что находится после собаки в поле From, должно совпадать с доменом вашего сайта):
Рассмотрим основные проблемы, по которым почта может не уходить:
Приветствую читателей thisis-blog.ru!
В сегодняшней статье хочу рассказать об основных проблемах с почтой в CMS 1с-Битрикс.
Порой до адресата не доходят письма и нужно понять, а отправляются ли они вообще? А может они были отправлены, но возникли, какие-то другие ошибки. Так что же делать в таких ситуациях?
Содержание
- Проверить отправляются ли письма
- Список отправленных писем
- Не приходят на почту уведомления о заполнении веб-форм
- Отправка писем из 1С-Битрикс
Проверить отправляются ли письма
Для проверки достаточно на любой страничке написать следующий php код:
Либо использовать для отправки письма функцию bitrix CEvent::Send.
Если письмо не пришло, можно обращаться в тех. поддержку хостера.
Список отправленных писем
В битриксе нет как такого инструмента, который бы показывал сработавшие почтовые шаблоны и соответствующие отправленные письма. Но всё таки существует обходной путь, как просмотреть их.
Для этого нужно зайти в Админку Битрикс, далее Настройки -> Инструменты -> SQL-запрос. Ввести следующий sql код:
Вместо %form% нужно указать конкретный тип почтового события например так, чтобы посмотреть отправленные письма о новых заказах:
Либо можете вообще убрать вторую строку. В результате получите таблицу всех сработавших событий. Нас интересует колонка SUCCESS_EXEC.
‘Y’ — означает успешная отправка;
‘N’ или 0 — письмо не отправлено;
‘F’ — ошибка
Если найденные записи имеют значение ‘Y’ — это означает, что они отправлены и проблем быть не должно.
Но у нас всё плохо, значит обращаемся в тех. поддержку хостинга.
Если ‘N’ или 0- письма по какой-то причине не ушли.
Может помочь такое решение:
перейдите по пути: /bitrix/php_interface/dbconn.php
Закомментируйте или удалите следующие строки:
Попробуйте протестировать снова. Если после этого SUCCESS_EXEC также имеет значение ‘N’, то перейдите в /bitrix/managed_cache/ . Удалите содержимое через модуль управления структурой( не в коем случае не используйте FTP). Если вылезет ошибка, то не хватает доступа. Измените доступ к папкам и повторите снова.
Еще один способ — воспользоваться встроенными методами CMS Битрикс по диагностике.
- Проверка системы — /bitrix/admin/site_checker.php
- Монитор качества — /bitrix/admin/checklist.php
Ошибки, найденные в процессе диагностики, могут являються причиной вашей проблемы.
Возможная ошибка — почтовый сервер не поддерживает формат письма. Попробуйте изменить настройки отправки.
- Убрать BBC
- Убрать дублирование email в заголовке
- Установить Конвертировать 8-битные заголовки
Если ничего не помогло, попробуйте запросить у хостера логи почтового сервера.
Хочу рассмотреть частный случай:
Не приходят на почту уведомления о заполнении веб-форм
Шаги решения проблемы:
- Переходим в админ панель: Настройки -> Настройки продукта ->Настройки модулей -> Веб-формы. Отключаем флажок «использовать упрощенный режим». Переходим к настройкам компонента веб-форм на сайте. Вкладка дополнительно. Должен присутствовать флажок активирующий привязку к почтовому шаблону.
- Переходим: Панель управления -> Настройки -> Настройки продукта -> Почтовые события. Находим почтовый шаблон для веб-формы. Проверяем правильность данных:
- Шаблон должен быть активен;
- Привязан к одному из сайтов(если многосайтовость);
- От кого: #DEFAULT_EMAIL_FROM#;
- Кому: #DEFAULT_EMAIL_FROM#».
Спасибо за внимание, также читайте статью про то, как Добавить поле в почтовый шаблон.
Отправка писем из 1С-Битрикс
Не отправляется письмо из Битрикса! Почему?
Не редкость что у пользователей или начинающих программистов после установки продукта по каким то непонятным причинам не происходит отправка писем из 1С-Битрикс.
Перед тем как приступать к устранению попробуйте проверить отправляется ли почта через функцию php, mail. Проверить можно в левом меню Настройки — Инструменты — Командная PHP-строка. В текстовом поле введите примерно следующее.
$headers = «From: test@». $_SERVER[‘HTTP_HOST’] . »
» .
«Reply-To: test@». $_SERVER[‘HTTP_HOST’] . »
» .
«X-Mailer: PHP/» . phpversion();
if( mail(«mymail@mydomain.ru«,»my test theme»,»my test message»,$headers) )else
Как правило на это есть всего несколько основных причин.
Первая причина: Битрикс установлен у вас на локальном ПК. Соответственно вам необходимо настроить почтовик.
Настройка почтовика очень проста:
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.
Третья причина: Пожалуй самая глупая. Не выбран сайт в почтовом шаблоне Битрикс, на рисунке все четко показано.
Необходимо просто поставить галочку и сохранить почтовый шаблон.
Почтовые шаблоны находятся в левом меню Настройки — Настройки продукта — Почтовые события — Почтовые шаблоны. Обязательно проверьте что бы на необходимых шаблонах был выбран ваш сайт.
Источник: