martes, 20 de enero de 2015

Configurar sendmail para hacer relay a través de un smarthost autenticado


Hoy he tenido que hacer una de esas cosas raras que te encuentras por culpa de consolas de gestión limitadas.

Para poder enviar emails con SMTP a través de un smarthost con un puerto diferente del 25 y con autenticación, he tenido que usar un linux con un sendmail como servidor de relay.


Aquí dejo los pasos para configurar este relay:

1. El primer paso es añadir el smarthost al servicio de sendmail. Edita el fichero /etc/mail/sendmail.mc y añade las siguientes lineas:
define(`SMART_HOST',`relay.example.com`)dnl
define(`RELAY_MAILER',`esmtp')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
FEATURE(`access_db')


2. (en caso que sea necesario) En el caso que tengas el sendmail configurado por defecto y que solo este escuchando a través de la dirección localhost (127.0.0.1), es necesario añadir la o las direcciones de escucha. Edita también el fichero /etc/mail/sendmail.mc y añade la siguiente linea
DAEMON_OPTIONS(`Port=smtp,Addr=<direccion IP de escucha>, Name=MTA')


3. Añadir las credenciales de autenticación en el archivo /etc/mail/access
AuthInfo:relay.example.com "U:USERNAME" "P:PASSWORD" "M:PLAIN" 


4. Actualizar los archivos de sendmail y access con los siguientes comandos:
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
# makemap hash /etc/mail/access.db < /etc/mail/access

5. Reiniciar el servicio sendmail
# /etc/init.d/sendmail restart

Y ya podemos usar el equipo Linux como relay smtp para enviar alertes, notificaciones, informes o lo que haga falta.

No hay comentarios:

Publicar un comentario