Los reenviadores de correo son muy útiles en las empresas, y es que diferentes equipos de red puedan enviar mensajes de alerta, notificaciones, problemas, etc.
El siguiente proceso lo he ejecutado en un servidor Ubuntu Server 20.04, pero aplica para Debian o Linux Mint, también utilizando los parámetros de configuración de una cuenta Office365.
Instalar Sendmail
Para instalar Sendmail ejecutamos los siguientes comandos.
[simterm]$ sudo apt update [/simterm]
[simterm]$ sudo apt install sendmail mailutils sendmail-bin sasl-2bin [/simterm]
Ejecutamos Sendmailconfig y respondemos «Y» a todo.
[simterm]$ sudo sendmailconfig [/simterm]
Luego configuramos la autenticación con la cuenta de correos que utilizaremos con el reenvio
[simterm]$ sudo su [/simterm]
[simterm]# mkdir -m 700 /etc/mail/authinfo/ [/simterm]
[simterm]# cd /etc/mail/authinfo/ [/simterm]
[simterm]# nano office365-auth [/simterm]
Dentro de este archivo agregaremos lo siguiente y sustituye según tu caso.
AuthInfo: "U:root" "I:YOUR OFFICE365 EMAIL ADDRESS" "P:YOUR PASSWORD"
Supongamos que es la cuenta de correo Office365 cuentadecorreoreenviador@dominio.com la linea quedaria asi.
AuthInfo: "U:cuentadecorreoreenviador@dominio.com" "I:cuentadecorreoreenviador@dominio.com" "P:password"
Luego ejecutamos el comando.
# makemap hash office365-auth < office365-auth
Configurar Sendmail
Para configurar Sendmail primero debemos editar el archivo /etc/mail/sendmail.mc agregando el siguiente contenido justo en la siguiente linea del primer MAILER que encuentres.
define(`SMART_HOST',`[smtp.office365.com]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo/office365-auth.db')dnl
Busca la linea siguiente.
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
Cambia la IP localhost o «127.0.0.1» por la IP de tu server, si esta es por ejemplo «192.168.0.100», la linea deberia quedar asi.
DAEMON_OPTIONS(`Port=smtp,Addr=192.168.0.100, Name=MTA')dnl
Ahora crea el archivo /etc/mail/relay-domains y en este escribe las direcciones IP una por linea de los servidores o equipos que podran utilizar el reenviador de emails para enviar correos, por ejemplo, 192.168.0.201.
Ahora es hora de compilar los cambios y reiniciar el demonio de sendmail con los siguientes comandos.
[simterm]# make -C /etc/mail [/simterm]
[simterm]# systemctl restart sendmail [/simterm]
[simterm]# systemctl status sendmail [/simterm]
Probar el reenvío de correos con telnet
Desde el equipo donde piensas enviar correos ejecuta el siguiente comando.
[simterm]$ telnet 192.168.0.100 25 [/simterm]
Donde «192.168.0.100» es la IP del servidor sendmail reenviador y «25» el puerto SMTP donde escucha sendmail.
[simterm]$ telnet 192.168.0.100 25 [/simterm]
Luego de conectar con telnet ejecuta el siguiente comando.
[simterm] helo server [/simterm]
El servidor te va a contestar algo parecido a lo siguiente.
250 emailrelay Hello IDENT:0@[192.168.0.200], pleased to meet you
Luego ejecuta el comando.
[simterm] mail from: cuentadecorreoreenviador@dominio.com [/simterm]
Sustituye «cuentadecorreoreenviador@dominio.com» por la cuenta que pusiste en el archivo office365-auth, al dar Enter el servidor debería responder algo parecido a lo siguiente.
250 2.1.0 cuentadecorreoreenviador@dominio.com... Sender ok
Ahora ejecuta el comando siguiente
[simterm] rcpt to: cuentadealguien@gmail.com [/simterm]
Sustituye «cuentadealguien@gmail.com» por la cuenta de correo a la que quieres enviar una prueba, al dar Enter el servidor deberia responder algo parecido a lo siguiente.
250 2.1.5 cuentadealguien@gmail.com... Recipient ok
Si la respuesta es negativa, es porque no agregaste la IP del equipo desde el que estas ejecutando telnet en el archivo «relay-domains», luego ejecuta el siguiente comando.
[simterm] data [/simterm]
Ahora escribe todo el contenido que ira en el correo, puede ser algo tan simple como «Correo de prueba» presionas Enter y luego escribes un «.» y presionas nuevamente Enter para finalizar, el servidor deberia responder con algo parecido a lo siguiente para confirmar que el correo ya fue enviado.
250 2.0.0 19GLNXqu013938 Message accepted for delivery
Listo, con esto solo resta que verifiques que recibiste el correo e ir agregando los otros equipos o redes que podran enviar correos a traves de tu nuevo reenviado.