Envío de correos desde una aplicación web
- Francisco Javier Huete
- Servicios
- February 18, 2025
Índice
En un servidor web Rocky Linux 9 con una aplicación WordPress se configura la aplicación para que envíe correos a través del servidor de correos “oficial” de la red. Este servidor de correo está en otra máquina de la red.
Para enviar correos desde WordPress se instala en la aplicación un plugin que permita enviar correos desde la aplicación, en este caso se usa WP Mail SMTP.
La configuración del plugin es sencilla e interactiva. En el correo del remitente se indica el correo de un usuario del servidor de correos, como, en este caso, usuario@javi.gonzalonazareno.org
. Como servicio de envío se elige la opción otro SMTP y en el campo del servidor SMTP se indica el nombre del servidor de correos de la red, en este caso, sanji.javi.gonzalonazareno.org
y se configura el envío de correos por el puerto 25.
Con estos ajustes, el servidor ya puede enviar correos desde la aplicación. Sin embargo, el servidor Rocky cuenta con el sistema de seguridad SELinux habilitado por defecto. Para mantener esta configuración de seguridad reforzada en el servidor pero poder enviar correos hay que configurar SELinux.
Esto se puede hacer con la herramienta sealert
.
sealert -a /var/log/audit/audit.log
Esta herramienta analiza los logs de SELinux y recomienda diferentes medidas que se pueden tomar para permitir el tráfico que este sistema de seguridad está bloqueando. En este caso, las acciones recomendadas consisten en permitir al servidor web enviar correos y activar el módulo de SELinux para el servidor de aplicaciones PHP php-fpm.
sudo setsebool -P httpd_can_network_connect 1
sudo setsebool -P httpd_can_sendmail 1
sudo setsebool -P nis_enabled 1
sudo ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm
sudo semodule -i my-phpfpm.pp
Tras configurar correctamente SELinux, la aplicación ya puede enviar correos electrónicos a través del servidor configurado en la red.