Así puedes enviar emails con Gmail a través de tu consola en Linux

En algunas ocasiones puede ser útil que el sistema operativo envíe de forma automática e-mails con los logs o avisos del sistema a nuestra bandeja de correo electrónico. La posibilidad que nos da el poder de enviarnos un email de aviso, con tan sólo una orden en consola es muy interesante para programar scripts en Linux. El programa más sencillo para realizar esta funcionalidad es ssmtp, un pequeño programa que apenas consume recursos del sistema y su uso es muy sencillo. Gracias a ssmtp vamos a poder enviar emails por consola de manera muy fácil y rápida, ideal para automatizar acciones.

En este manual os vamos a enseñar cómo enviar emails con el proveedor de servicio Gmail usando cualquier sistema operativo basado en Linux, en nuestro caso, hemos utilizado Raspbian en una Raspberry Pi, pero cualquier servidor con Debian, Ubuntu o cualquier otra distribución, también te funcionará perfectamente y sin problemas.

Lo primero que necesitamos para esto, es tener una cuenta de Gmail, es recomendable que sea una cuenta creada específicamente para este tipo de avisos y que no tenga activada la autenticación en dos pasos, ya que entonces deberemos usar las contraseñas específicas de aplicación. Además, tendrás que activar en Gmail que las aplicaciones no confiables puedan iniciar sesión, de lo contrario, este programa no te funcionará, tal y como ocurre con otros programas de este tipo.

international_email

Después de tener la cuenta de Gmail y configurarla correctamente (sin autenticación en dos pasos, y con permiso para iniciar sesión desde aplicaciones no confiables), procedemos a instalar en el sistema operativo, el programa necesario para conseguirlo:

sudo apt-get install ssmtp

Una vez que se haya instalado, debemos irnos a /etc/ssmtp/ y configurar el fichero necesario para enviar los emails, editamos el fichero con el programa vi o nano (es recomendable usar nano debido a su sencillez y user-friendly).

sudo nano /etc/ssmtp/ssmtp.conf

El código que debe quedar es el siguiente (comentamos el archivo entero anterior y añadimos las líneas del final):

# 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=mail
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
#hostname=raspberrypi
# 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
AuthUser=correo_que_envia_el_email@gmail.com
AuthPass=contraseña_del_email
FromLineOverride=YES
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES

Una vez que hemos acabado de configurarlo, guardamos los cambios y procedemos a probar el servidor de email con la siguiente orden:

echo "Email de Prueba" | ssmtp -s "Asunto del mensaje" emaildestino@destino.com

Y comprobaremos que efectivamente funciona correctamente. Este método de enviarnos emails de avisos será muy útil para enviarnos cualquier tipo de información acerca del sistema, por ejemplo, información de que se han ejecutado scripts correctamente, o avisos por email de intentos de inicio de sesión por SSH y mucho más.