Я не могу получить 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.