Bitrix не работает mail php

Неотправляется почта php функцией mail на виртуальной машине битрикс

Проверка отправки почты из консоли линукс echo «Testing» | mail -s «Test» johndoe@example.comс Ошибка -bash: mail: command not found

Если php почта не отправляется, устанавливаем комманду yum install mailx

Проверяем дальше echo «Testing» | mail -s «Test» johndoe@example.comс Ошибка /usr/sbin/sendmail: No such file or directory «/root/dead.letter» 9/216 . . . message not sent.

Устанавливаем sendmail yum install sendmail sendmail-cf -y chkconfig —level 345 sendmail on service sendmail start

Проверяем дальше echo «Testing» | mail -s «Test» johndoe@example.comс Ошибка пропала, письма приходят

Но вот не задача. PHP Функция mail() не работает Вопрос решился письмом в службу поддержки firstVDS сервера У меня на сервере VDS установлено веб окрежение битрикс Необходимо было в файле /etc/php.d/bitrixenv.ini сменить параметр sendmail_path ;sendmail_path = msmtp -t -i sendmail_path = /usr/sbin/sendmail -t -i и все заработало!

PS: для работы curl потребуется еще одна настройка копируем данные из /etc/php.d/20-curl.ini.disabled в 20-curl.ini service httpd restart

Работаю © 2012 — 2021 год
Все права защищены

Навыки и умения Знание PHP5, MySQL, JS, HTML5, CSS3. Работа с технологиями XML, AJAX, GIT, SOAP Большой опыт взаимодействия с сервером. Работа с 1C-BITRIX FRIMEWORK, BITRIX24

Источник

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

Приветствую читателей thisis-blog.ru!

В сегодняшней статье хочу рассказать об основных проблемах с почтой в CMS 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). Если вылезет ошибка, то не хватает доступа. Измените доступ к папкам и повторите снова.

Читайте также:  Wifi настроить самсунг галакси

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

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

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

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

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

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

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

Не приходят на почту уведомления о заполнении веб-форм

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

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

Спасибо за внимание, также читайте статью про то, как Добавить поле в почтовый шаблон.

Источник

Не работает почта на битриксе php mail()

Не отправляется email из продукта. Что делать?

1) Продукт использует стандартную функцию php mail() для отправки почты. Прежде всего необходимо проверить работоспособность этой функции.
Создайте и запустите на своём сайте тестовый файл следующего содержания:
if (mail(«[email protected]»,»test subject», «test body»,»From: [email protected]»))
echo «Сообщение передано функции mail, проверьте почту в ящике.»;
else
echo «Функция mail не работает, свяжитесь с администрацией хостинга.»;
?>

Замените «[email protected]» на адрес получателя (Ваш email адрес), «[email protected]» — на адрес отправителя (email администратора, указанный в настроеках Главного модуля).
Если письмо не попало в ящик — обратитесь к администратору почтового сервера, возможно тестовое письмо и все письма с вашего сайта попадают в спам.
Если письмо пришло — проблема в настройках продукта, создайте обращение в техподдержку, в котором укажите по шагам ваши действия.

2) Заходим на сервер по ssh. Открываем файл /etc/php.d/bitrixenv.ini и меняем:
sendmail_path = msmtp -t -i
на
sendmail_path = /usr/sbin/sendmail -i -t [email protected]
Сохраняем измнения и перезапускаем Apache — service httpd restart

Компания Hyper Host™ — хостинг для сайтов от профессионалов !

Дополнительно более подробно о Битриксе в этой статье. Возможно вам пригодится инструкция по установке SSL-сертификата на BitrixVM.

Источник

Bitrix не работает mail php

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

Битрикс посылает почтовые шаблоны функциями CEvent::Send() и CEvent::SendImmediate().

Письмо отправляется, если Битрикс нашел активный почтовый шаблон, подходящий под это событие и соответствующий текущему сайту.

Письма отправлены через CEvent::Send() попадают в таблицу b_event.

Чтоб проверить таблицу существует 2 способа

первый: перейти на страницу

и в поле Фильтр по имени таблицы ввести b_event. перейти по точному совпадению таблицы.

другой: описан ниже

Письма, попавшие в b_event, посылаются на агенте (хиты) или на cron (по расписанию). Отправляются не сразу.

Письма, посылаемые через SendImmediate не попадают в b_event, а отправляются сразу.

Send и SendImmediate — обертки на функцию Битрикса bxmail, которая использует либо стандартную php-функцию mail, либо custom_mail, если она определена.

Административный раздел->Рабочий стол->Настройки->Инструменты->Командная PHP-строка скопировать туда:

Читайте также:  Еленинг ннгу не работает

Поля «От кого» (mail_from@mail.com), «Кому»(mail_to@mail.com) поменять на свои.
Нажать ВЫПОЛНИТЬ.
Битриксовская отправка письма — обёртка над функцией mail().
Если «Отправка не удалась!» функция mail не работает, свяжитесь с администрацией хостинга.

Далее нужно проверить срабатывает ли штатные события.
На D7:

Проверьте что поля «DEFAULT_EMAIL_FROM», «EMAIL», «EVENT_NAME» заполнены верно.

Если не поддерживается D7:

Административный раздел->Рабочий стол->Настройки->Инструменты->SQL запрос пишем

Обращаем свое внимание на колонки SUCCESS_EXEC и DUPLICATE. Иногда нужно подождать некоторое время (недолго) пока отработает запись в лог. Первый при установленном значении ‘Y’ говорит нам что отправка произошла успешно. Второй что письмо продублировано на скрытую копию ВСС (например администратору о совершенном заказе).
Что же делать если значения ‘N’, а отправка простого mail() выдала ‘Успешно отправлено!’ ?
Параметр SUCCESS_EXEC сообщает
Y — все письма по всем почтовым шаблонам были успешно отправлены
F — все письма по всем почтовым шаблонам не смогли быть отправлены
P — часть писем отправлена успешно, часть писем — безуспешно
0 — почтовые шаблоны не были найдены
N — почтовое событие ещё не обрабатывалось функцией CEvent::CheckEvents

Если там стоит ‘N’

1) Возможно в настройках продукта включена отправка сообщений по крону. зайдите в файл /bitrix/php_interface/dbconn.php и проверьте не определены ли у вас константы BX_CRONTAB и BX_CRONTAB_SUPPORT, если да — убрать их.(ОСТОРОЖНО! Быть готовым вернуть всё в исходное состояние)

2) Если после этого SUCCESS_EXEC также N, то необходимо перейти в папку /bitrix/managed_cache/ и попытаться удалить содержимое обязательно через модуль управления структурой, а не через FTP. Если ошибка — исправить проблему с доступом продукта к папкам. Результатом должно быть удаление файлов и папок из кеша через модуль управления структурой.

3) если после виполения команды CEvent::CheckEvents(); в командной строке несколько писем с N меняют статус отправки на другой нужно добавлять и проверять cron-задачу или переключить отправку писем на хиты.

4) Поставить cron-задачу(проверить есть ли она вобще) или перенести отправку на хиты.
5) Код в init.php, некорректно работающий на cron. Проверьте там редиректы и пустые данные в переменной $_SERVER.

Если там стоит ‘F’(функция mail() по какой-то причине вернула False)

1)Может почтовый сервер не поддерживает формат письма.
Убрать BBC(добиваемся чтоб оно работало, но попробовать отключить можно)
Убрать дублирование email в заголовке
Установить Конвертировать 8-битные заголовки

2)Может быть это проблемы на стороне почтовой утилиты на сервере.
Если почта была настроена, но вдруг перестала отпарвляться, ошибку нужно искать в логах почтовой утилиты. В стандартном виртуальном окружении Битрикса это /home/bitrix/msmtp_default.log
проверьте также права на
/home/bitrix/.msmtprc
возможно прав для пользователя bitrix (если стантартное виртуальное окружение) не достаточно на прочтение. Поменяйте владельца на bitrix:bitrix

3) Если писем отправляется очень много.

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

4) В почтовом шаблоне письма есть заглушка #NAME#, а ключа с таким именем нет в массиве полей в b_event.

e-mail отправителя или получателя имеет неправильный формат;

— заглушека #NAME# не может подставиться;

— какой-то из необходимых заголовков не задан в почтовом шаблоне в административной части сайта;

Читайте также:  Какую пенсию буду получать если не буду работать

— в почтовом клиенте неверно настроено соответствие заголовков;

— отправитель письма не соответствует тому, что ожидает почтовый сервер.

— Битрикс заполняет заглушку #BCC# в полях Кому и Копии только в письмах, отправляемые модулем Интернет-магазин (например создание заказа).Если вы добавите #BCC# в Кому или Копию в шаблон регистрации пользователя или в свой кастомный, или любой другой шаблон без приставки SALE — письмо не отправится и будет иметь статус отправки F.

5) Обработчики событий отправки писем сработали неверно.
6) Обратите внимание на функцию custom_mail. Если она определена значит заменяет стандартную mail. Даже если она отработала корректно (отослались письма) статус может быть F или 0. Проверьте тариф используемого SMTP, проверьте логины, пароли а также адрес отправителя. Обычно используют класс PhpMailer. Включите дебаг, посмотрите ошибки.
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
Если стоит NULL
API работает только с записями, у которых значение «N», попробуем исправить сам столбец таблицы.
Административный раздел->Рабочий стол->Настройки->Инструменты->SQL запрос пишем

Если стоит «0»
1) Неправильно настроен шаблон сообщения.
Посмотрите правильность зополнения полей. Мало ли.
2) В почтовом шаблоне снята галочка активности или нет привязки к нужному сайту.
3) Обработчики событий отправки писем сработали неверно.

Если ничего не помогло, просите у хостера логи почтового сервера.
По возможности проверить размер таблицы b_event (через phpmyadmin к примеру).
Если дешевый тариф то посмотреть использование памяти сервером.
Возможно у хостера стоит ограничение на вес письма.

Если письмо отправилось, но вы его не видите не забудьте перепроверить спам фильтр на почте, на которую отправляли.

Источник

Как что делать с ошибкой почты битрикс?

Осуществляется передача тестового письма на почтовый адрес hosting_test@bitrixsoft.com через стандартную php функцию mail. Чтобы максимально приблизить тест к реальной работе почты, заведен служебный ящик.

В качестве тестового текста письма передается исходный код скрипта проверки сайта.

Никакие пользовательские данные не передаются!

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

Если время отправки письма больше секунды, это может значительно затормозить работу сайта. Обратитесь к хостеру с просьбой настроить отложенную отправку почты (через спулер) или включите передачу почты (и работу агентов) через cron. Для этого в dbconn.php надо добавить константу:
define(‘BX_CRONTAB_SUPPORT’, true);

Затем на cron добавьте ежеминутное выполнение скрипта php /var/www/bitrix/modules/main/tools/cron_events.php.
(замените /var/www на свой путь к корню сайта).

Но если функция mail() в данном случае не отработала, с большой уверенностью можно утверждать, что передача почты стандартным способом php на сервере невозможна.

Если хостер предоставляет альтернативные способы отправки почты с сайта, их можно использовать через функцию custom_mail. Определите эту функцию в файле /bitrix/php_interface/dbconn.php, она будет использоваться вместо встроенной mail функции с тем же набором параметров.

Подробности в журнале проверки системы.


Вот что мне написал сам Битрикс

Какие манипуляции проделал я:
1. добавил через manage sites почтовый адрес майл.ру
2. настроил крон

что имеется
BitrixVM 7.2.2
соответственно установленный дистрибутив

пользовался информацией Отсюда Отсюда и Отсюда Видео про почту начинается с 22-23 минуты

Я может что не правильно делаю? или надо почтовый сервер поднять я хз

Источник

Оцените статью