Я пытаюсь настроить новую программу службы поддержки (Kayako), но у меня возникают проблемы с пересылкой почты на наш почтовый сервер.
Вот ошибка, которую я получаю:
sendmail [2371]: NOQUEUE: SYSERR (apache): невозможно chdir (/ var / spool / clientmqueue /): в разрешении отказано
Я сменил владельца на clientmqueue
папку в smmsp:apache
с теми же разрешениями 770, что и обычно, однако ошибка все равно возникает.
Итак, я начал с нуля, просто чтобы убедиться, что у меня есть только минимальная установка, и что нет никаких конфликтующих пакетов.
Однако SELinux все еще не позволял мне подключиться к внешнему почтовому серверу.
Я бы получил такие предупреждения:
[Предупреждение]: stream_socket_client (): невозможно подключиться к mail.mydomain.com:25 (в разрешении отказано) (Transport / StreamBuffer.php: 263)
Я обнаружил, что мне нужно разрешить скриптам и модулям HTTPD подключаться к сети, установив логическое значение SELinux для httpd_can_network_connect
к on
.
Я сделал это, выполнив следующую команду: setsebool -P httpd_can_network_connect on
Если вы не используете -P
флаг, изменение не сохраняется в файле политики и не сохраняется после перезагрузки.
Просто подумал, что отправлю это для всех, кто сталкивается с аналогичной проблемой. я полагаю, что httpd_can_network_connect
не настроен на on
вызывает sendmail
ошибка тоже.
Sendmail должен быть запущен setgid
, в противном случае почтовая очередь должна быть доступна для записи PHP. Похоже, на вашем сервере это не так.
Согласно «Книге летучих мышей» (4-е издание, стр. 168) рекомендуемые разрешения для каталога:
chown smmsp:smmsp clientmqueue
chmod 0770 clientmqueue