Назад | Перейти на главную страницу

Ошибки Sendmail при отправке через PHP

Я пытаюсь настроить новую программу службы поддержки (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