Usar SSMTP para enviar los correos a través de Gmail

Si tenemos un servidor dedicado y nos enviamos correos de monitorización, es posible que gran parte de ellos acaben en la bandeja de SPAM o incluso rechazados por servidores remotos por reglas RBL. Como alternativa, podemos usar SSMTP para enviar los correos a través de Gmail usando contraseñas de aplicación.

Las contraseñas de aplicación nos permiten crear una password alternativa para nuestra cuenta de gmail y asignarla a una aplicación en concreto. De esta forma, si la password se ve comprometida, la revocaremos sin que esto afecte al resto de servicios que tengamos configurados usando nuestra cuenta Google.

El paquete ssmtp está disponible en los repositorios de Ubuntu / Debian, lo instalaremos mediante

apt-get install ssmtp

Depués, configuraremos el archivo /etc/ssmtp/ssmtp.conf de forma que quede asi:

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587
AuthUser=nuestro_correo_de_gmail
AuthPass=contraseña_de_aplicacion_gmail
AuthMethod=LOGIN
UseTLS=YES
UseSTARTTLS=YES
rewriteDomain=javierin.com

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=javierin.com

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

Vamos a repasar lo que hace cada una de las opciones

mailhub

Es el host de SMTP que vamos a usar. En esta configuración usa el puerto 587, que es el puerto que Gmail destina al SMTP usando TLS. Otras opciones de Gmail pueden ser SMTP usando SSL en el puerto 465, por ejemplo.

AuthUser

Deberemos colocar aqui nuestro mail completo de gmail, incluido @gmail.com. Si usamos google apps con otro dominio, pondremos el dominio que tengamos en google apps.

AuthPass

Aqui colocaremos nuestra contraseña de aplicación de Gmail. No la de nuestra cuenta de Google, sino la que hemos generado específicamente para este SSMTP.

UseTLS y STARTTLS

Estas opciones especifican a SSMTP que queremos usar TLS para hacer nuestra comunicación de correo más segura.

rewriteDomain

Nos permite enviar los correos cambiando el dominio con el que se envian por el que le indiquemos.

hostname

Nos permite cambiar el hostname con el que se identifica nuestro equipo ante otros SMTPs

FromLineOverride

Indicamos a SSMTP que queremos permitir a las aplicaciones que envíen correo que pongan la dirección remitente que deseen.

Usando esta solución, no deberías volver a tener problemas de correo del sistema aterrizando en la bandeja de SPAM de tu correo.