Postfix usando Gmail como relay SMTP

¿Cuántas veces nos ha pasado que disponemos de un servidor de correo electrónico Postfix en un servidor Linux, y a la hora de configurarlo para enviar correos electrónicos a servidores externos, estos correos llegan al SPAM?

¿Te has peleado con las direcciones IP públicas fijas y la resolución inversa de nombres? ¿Y con los registros SRV/TXT en los servicios de DNS?postfix

En este breve artículo traigo una solución simple que puede llegar a serte útil en tus servidores de correo pequeños, e incluso, medianos.

Entorno

En esta pequeña práctica vamos a configurar un servidor de correos Postfix (SMTP) para que, cuando los correos salgan a Internet, utilicen una cuenta de GMAIL como relay, lo que nos permitirá asegurarnos de que los correos lleguen a destino al INBOX siempre, puesto que el destinatario recibirá un correo desde los servidores de SMTP de GMAIL.

Configurando el servidor Postfix

Lo primero que tenemos que hacer es instalar algunos paquetes necesarios en nuestro Linux:

Una vez que hemos instalado estos paquetes, ya tendremos el servicio de correos funcional… solo nos faltarán algunos detalles.

Editamos la configuración

El archivo principal de configuración de Postfix es /etc/postfix/main.cf. Lo editamos con el editor de textos de nuestra preferencia, y agregamos las siguientes líneas:

Con eso le diremos a Postfix que utilice soporte SASL para autenticación con un servidor externo, y le diremos que contacte a dicho servidor utilizando el nombre smtpgmail.gmail.com y le apunte al puerto 587 de TCP, el servicio de SMTP seguro.

Los datos de autenticación los buscará en /etc/postfix/sasl_passwd, como lo hemos especificado en el archivo anterior.

Por lo tanto, editamos el /etc/postfix/sasl_passwd, y colocamos el siguiente contenido:

Donde deberemos reemplazar USERNAME y PASSWORD por los de una cuenta de gmail válida.

Nuestro servidor Postfix enviará correos, ahora, desde esta cuenta de gmail.

Por último, debemos crear el archivo de lookup para que postfix pueda conectarse al servidor remoto de gmail utilizando las credenciales especificadas.

Para ello, primero corregimos los permisos del archivo de credenciales, puesto que es un archivo crítico de la configuración:

sudo chmod 0400 /etc/postfix/sasl_passwd

Y luego, creamos la tabla lookup:

sudo postmap /etc/postfix/sasl_passwd

Y recargamos el servicio:

sudo service postfix restart

Ya deberíamos tener nuestro servidor configurado!

Probando la configuración

Vamos a enviarnos un correo electrónico! Solo debemos correr un comando como este, donde la dirección de correos es la del receptor, en este caso, mi cuenta de OMB.

echo "probando servidor" | mail -s "prueba postfix_gmail" d1cor@openmailbox.org

Si nos fijamos en los logs de correo:

Como vemos, el correo está en estado «sent» 🙂

Y si chequeamos nuestra casilla de correos?

postfixNotas

Debemos verificar que el archivo ca-certificates.crt mencionado en el main.cf existe. En el caso de no existir, se puede utilizar cualquier otro certificado válido del directorio /etc/ssl/certs.

Y por último, recordar que estamos enviando correos desde Postfix utilizando Gmail como relay, por lo que tendremos las limitaciones que nos entrega Gmail a la hora de enviar correos, en cuestión de cantidad de destinatarios y correos enviados por día.

Puede verse esta información accediendo a la página de soporte de gmail al respecto.

En fin, espero que les sea de utilidad!! Cualquier consulta o sugerencia quedamos a disposición! Son libres de comentar y compartir. Gracias!

Hasta la próxima!