Mail Relay
Introducción
Muchos servicios tienen que enviar e-mails para notificar, si disponemos de un sistema centralizado es más sencillo de gestionar, pero si no es así, cualquier cambio nos obliga a actualizarlo en cada servicio.
Este servicio hace de relay, recibe notificaciones de otros servicios y los envía a otro lugar, NO es un servidor de correo, simplemente hace de intermediario contra un servidor de correo real.
Acorde a la configuración de este, cualquier petición es aceptada y enviada, para evitar que aplicaciones indeseadas lo utilicen, este servicio tiene su propia red y no es accesible fuera de esta. Los servicios que requieran enviar e-mails, deberán incluir esa red, por supuesto, cualquier servicio fuera del clúster de Docker Swarm no tendrá acceso a este servicio.
Descarga
El fichero de despliegue se encuentra en Git.
git clone https://gitlab.com/ReiIzumi/swarm-project.git
cd swarm-project/04-MailRelay
Preparación
Este servicio almacena los e-mails hasta que son enviados, si el servicio cae, al volver a iniciarse recupera la cola y los empieza a procesar, para ello requiere su carpeta compartida con GlusterFS en /mnt/mailrelay
.
También requiere unas carpetas especificas:
mkdir -p /mnt/mailrelay/data
mkdir /mnt/mailrelay/postfix
Despliegue
Este servicio tiene pocos pasos para ser desplegado.
- Los servidores de e-mail requieren autenticación para acceder, este se guarda como un secret con el nombre
mailrelay-config_v1
y el siguiente formato:
<mail_server> <user_or_email>:<password>
- Actualizar los campos de
RELAY_HOST
,RELAY_POSTMASTER
yRELAY_MYDOMAIN
. - Desplegar en Portainer