Configurar el reenvio (relay) de correos en Sendmail y probarlo a traves de telnet


En ocasiones es necesario tener un servidor de reenvio de correos, es decir un servidor que tome los correos de otro servidor y los reenvie a su destino.

Sendmail puede ser usado para este fin, para hacer uso de este servicio buscamos el archivo /etc/mail/relay-domains, si no existe debemos crearlo, luego en el agregamos las direcciones de los servidores desde los cuales permitiremos el reenvio o relay de correos.

Por ejemplo supongamos que el servidor desde el cual permitire el reenvio de correos tiene la ip 10.0.0.10, basta con agregar esta direccion dentro del archivo relay-domains, reiniciar el demonio de sendmail y listo.

Ahora, si queremos probar que funciona podemos hacer una prueba enviando un correo desde nuestra aplicación o haciendo uso de telnet.

Para hacer probarlo a través de telnet lo hacemos desde una terminal de linux o una consola de comandos de windows con el siguiente comando, suponiendo que la ip 10.0.0.100 es la ip de nuestro servidor sendmail:

# telnet 10.0.0.100 25

El numero 25 del final representa el puerto de nuestro servidor Sendmail, en el caso de ser diferente hay que cambiarlo por el correspondiente.

Luego ejecutamos el comando:

helo cualquier_cosa

El servidor responderá:


250 servidor.dominio.com Hello [10.0.0.010], pleased to meet you

Luego ejecutamos el comando:

mail from: micorreo@gmail.com

Si estamos habilitados para hacer relay el servidor responderá:

250 2.1.0 micorreo@gmail.com... Sender ok


Procedemos a escribir el destinatario del correo:


rcpt to: destinatario@gmail.com

Y el servidor deberia responder:

250 2.1.5 destinatario@gmail.com... Recipient ok

Procedemos a escribir el cuerpo del correo con el comando:

data

Y el servidor responde:

354 Enter mail, end with "." on a line by itself

Escribimos el mensaje y un punto en una linea sola para determinar que hemos finalizado el mensaje:

Este es un correo de prueba
.

Y el servidor debería de responder con un:

250 2.0.0 q74MfhVg015346 Message accepted for delivery

Esto quiere decir que el mensaje fue enviado, si el mensaje no llega a su destinatario podemos revisar el log en /var/log/maillog



Comentarios