База знаний Виртуальный хостинг Работа с ISPmanager Почта Установить отправителя писем с сайта (PHP Apache FastCGI)

Установить отправителя писем с сайта (PHP Apache FastCGI)

В ISPmanager 6 существует проблема отправки писем с сайта, если письма отправляются при помощи функции PHP mail(), а сайт работает в режиме PHP FastCGI Apache.
Проблема связана с тем, что ISPmanager 6 в настройку переменной PHP sendmail_path указывает неправильное значение "из коробки", и не исправляет это значение при добавлении сайтов.

Переходим в ISPmanager в раздел Сайты, выбираем сайт и нажимаем PHP:



Находим настройку sendmail_path, выбираем её и нажимаем изменить:



Как видно на скриншоте, в настройке указан некорректный -f аргумент, как мы уже писали в нашем FAQ по отправке писем с сайта данная настройка является некорректной.
Исправить её нужно, заменив [email protected] на любой почтовый ящик, указанный на домене сайта (необязательно существующий). Например - noreply@site.ru (site.ru - необходимо заменить на свой домен):



Изменяем, сохраняем, проверяем работу почты на сайте. В 99% всё начнет работать корректно, а если не начало, то проблема в другом.

Если же сайтов много и надо изменить каждому, то под рутом в консоли сервера выполняем следующую команду:

/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain | grep php_mode_fcgi_apache | cut -d' ' -f2 | cut -d'=' -f2 | sort | idn  | xargs -I{}  /usr/local/mgr5/sbin/mgrctl -m ispmgr phpconf.edit sok=ok plid={} elid=sendmail_path cgi_value="/usr/sbin/sendmail -t -i -f noreply@{}"