Postfix: Permission denied

El otro día estaba intentando enviar mails desde una aplicación web, corriendo en un Apache con un servidor con Red Hat y, qué raro, los correos no se enviaban y la función siempre daba fallo. El código PHP sabía que estaba correcto y con Postfix también correctamente configurado, tuve que investigar un poco más el motivo.
Tras ver un poco por los logs, concretamente en el fichero relacionado con el sistema de correo (/var/log/maillog), vi que se estaba llenando de líneas como las que siguen:
postfix/sendmail[8500]: fatal: chdir /var/spool/postfix: Permission denied
postfix/sendmail[9316]: fatal: chdir /var/spool/postfix: Permission denied
postfix/sendmail[9764]: fatal: chdir /var/spool/postfix: Permission denied
Tras un poco más de investigación me acordé de que Red Hat trae SELinux y que probablemente me estuviese molestando un poco. Lo primero que hice fue comprobarlo para estar seguro y nada mejor para ello que el comando getsebool.
shell> getsebool -a | grep mail
   allow_postfix_local_write_mail_spool --> on
   httpd_can_sendmail                   --> off
   logging_syslogd_can_sendmail         --> off
Bien, efectivamente aquí tenemos el problema. La variable httpd_can_sendmail está a off, con lo cual deshabilita|bloquea|prohibe cualquier posibilidad de envío de correos desde el servidor. Así que vamos a habilitarla.
shell> setsebool httpd_can_sendmail 1
Tras este sencillo comando, comprobamos que el nuevo valor se estableció correctamente,
shell> getsebool -a | grep httpd_can_sendmail
   httpd_can_sendmail --> on
Y ahora desde la aplicación web ya me permite enviar correos de forma satisfactoria.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios