INOYAKAIGOR

Внимание! Сайт незапланированно сломался и вскорости я его починю. Местами он уже, вроде, работает.

Решение проблемы с отправкой почты в 1C Битрикс


Запись от: 2012-10-19 15:54:16

   Изначально в 1C Битрикс используется клиент msmtp. Битрикс у меня на текущем месте работы установлен на наш сервер и естественно все необходимые настройки делаются самостоятельно. Провозившись довольно долго с ним я решил, что если гора не идёт к Магомету, то он найдёт другую гору. Естественно заменой к msmtp был выбран старый добрый sendmail. Мануалов по sendmail'у больше и шансов у меня его настроить больше. Сразу поясню, что в линуксе (в любом из дистрибов) я не шарю вообще никак. Делаю тестовый скрипт для проверки, и что? Правильно ничего! Иначе этого поста не случилось бы! ☺ Итак, что я имел:
Apache в логах /var/log/httpd/error_log писал следующее:Program mode requires special privileges, e.g., root or TrustedUser.В логе специально созданном для sendmail было следующее:mail() on [/var/www/htdocs/mail.php:6]: To: user@company.ru -- Headers: Но потом мне попался на глаза очень дельный лог /var/log/maillog и в нём я увидел ключ к решению проблемы:Oct 19 14:40:48 servername sendmail[31357]: NOQUEUE: SYSERR(apache): can not chdir(/var/spool/clientmqueue/): Permission denied


Гугление по этой ошибке меня навело на вот это решение:[root@localhost httpd]# getsebool -a | grep mail
allow_postfix_local_write_mail_spool --> off
httpd_can_sendmail --> off
[root@localhost httpd]# setsebool httpd_can_sendmail=on


Для таких же ламеров как я поясню: в командной строке вводим getsebool -a | grep mail. В ответ мы получаем эти две строчки:allow_postfix_local_write_mail_spool --> off
httpd_can_sendmail --> off
А потом всё там же, в консоли, вводим setsebool httpd_can_sendmail=on и... ВУАЛЯ! Всё работает!

В php.ini у меня настройки стандартны для битрикса помимо одно момента:sendmail_path = "/usr/sbin/sendmail -i -t"

Вот вроде и всё. Всем удачи.

Теги: Apache 1С Битрикс bitrix sendmail Centos почта 

Комментарии:



©Игорь InoY Звягинцев