Ошибка при разрешении отправки почты с Apache + PHP без изменения разрешения на 777

Я не могу получить sendmail для работы с apache + php, если я не изменю разрешение на 777 для / var / spool / clientmqueue.

Владение / var / spool / clientmqueue

drwxrwxrwx 2 smmsp mail 4096 Jul 19 11:50 clientmqueue 

Я перепутал с группами пользователей для smmsp и apache.

 id apache uid=48(apache) gid=48(apache) groups=48(apache),12(mail) id mail uid=12(mail) gid=12(mail) groups=12(mail),48(apache) 

SELinux отключен

 getsebool httpd_can_sendmail getsebool: SELinux is disabled 

В maillog, если я установил разрешение папки на 770

 NOQUEUE: SYSERR(apache): can not write to queue directory /var/spool/clientmqueue/ (RunAsGid=48, required=12): Permission denied 

Никакая почта не будет отправлена, и я получаю сообщение об ошибке от php.

Если я установил папку 0777, то вместо этого я получил бы это в maillog

 dangerous permissions=40776 on queue directory /var/spool/clientmqueue/ 

Но php будет отправлять почту в порядке.

Можно ли заставить его работать с 0770, а apache читается в группе по почте. Я знаю, что ошибка получает apaches main GID 48, но она также разделяет группу 12.

Любая помощь была бы потрясающей.

У меня была эта проблема тождественно сегодня (и пришла сюда искать ответ).

В конце концов я нашел этот обзор ; запуск следующей команды из этого списка устранил проблему для меня:

 chmod 4555 /usr/sbin/sendmail 

Это устанавливает специальный режим setuid в бинарнике sendmail, предположительно позволяя Apache отправлять почту в качестве почтового пользователя.

(Я перезапустил обе демоны apache и sendmail после запуска, хотя я не уверен, какой из них действительно нужен для перезапуска)

Мне все еще очень любопытно, что вызвало эту проблему, в первую очередь …

Этот трюк сделал для меня. У меня были другие ошибки, прежде чем ударить это на машине Ubuntu. Позвольте мне поделиться этим, если кто-то другой столкнется с ними. Я получал NOQUEUE: SYSERR (www-data): не может chdir (/ var / spool / mqueue-client /): Permission denied.

 usermod -a -G smmsp www-data chmod 770 /var/spool/mqueue-client (don't use 775, it gives dangerous permission error in the log) service apache2 restart (this is required for the above to take effect) Now sending email gives a different error. - NOQUEUE: SYSERR(www-data): can not write to queue directory /var/spool/mqueue-client/ - chmod 4555 /usr/sbin/sendmail - Above command fixed the email issue. => didn't see any error in the mail.log this time.