Como enviar correos a través de Gmail, ¡simple y directo!

En esta entrada voy a explicar como instalar un programa bastante simple para enviar correos a través de Gmail, desde nuestra Raspberry Pi/Odroid U3, o cualquier sistema que tengáis instalado. Con esta nueva funcionalidad, podremos enviar alertas por correo electrónico cuando se produzca algún evento que estemos monitorizando. Tengo que decir que esto no es necesario para enviar correos desde dentro de openHAB, ya que dispone de un addon específico para ello.

Instalación

Los programas que usaremos son el Heirloom-mailx y ssmtp.  Para instalarlos usamos el siguiente comando:

root@jdomo:/# apt-get install heirloom-mailx ssmtp

y si queremos comprobar que todo ha ido correctamente, y que se han creado los enlaces bien, lo podemos hacer con:

root@jdomo:/# ls -ali /etc/alternatives/mail*
21860 lrwxrwxrwx 1 root root 23 jun  4 09:38 /etc/alternatives/mail -> /usr/bin/heirloom-mailx
29883 lrwxrwxrwx 1 root root 39 jun  4 09:38 /etc/alternatives/mail.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz
14481 lrwxrwxrwx 1 root root 23 jun  4 09:38 /etc/alternatives/mailx -> /usr/bin/heirloom-mailx
22201 lrwxrwxrwx 1 root root 39 jun  4 09:38 /etc/alternatives/mailx.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz

root@jdomo:/# ls -ali /usr/sbin/sendmail
32201 lrwxrwxrwx 1 root root 5 jul  1  2012 /usr/sbin/sendmail -> ssmtp

En el resultado anterior vemos que el sistema usará los programas de Heirloom para enviar correos.

Configuración

Tenemos dos archivos para configurar el envío de correos, los dos en /etc/ssmtp, el principal es ssmtp.conf. Básicamente tenemos que especificar el usuario y la contraseña de la cuenta de Gmail que usaremos para realizar los envíos. Os debe quedar parecido al mio:

#
# Config file for sSMTP sendmail
#
root=CORREO@gmail.com

AuthUser=CORREO@gmail.com
AuthPass=CONTRASEÑA
FromLineOverride=YES
mailhub=smtp.gmail.com:587
hostname=gmail.com
UseTLS=YES
UseSTARTTLS=YES

El otro, revaliases,  sirve para asociar cuentas de usuario local con cuentas externas básicamente. Sirve para que cuando enviemos algún mensaje a root (como hace el demonio cron por ejemplo), se reenvíe al correo que le digamos. El mio queda como el que sigue:

# sSMTP aliases
#
# Format:    local_account:outgoing_address:mailhub
#
root:CORREO@gmail.com:smtp.gmail.com:587

Pruebas

Ya lo tenemos todo listo, solo falta hacer alguna prueba:

root@jdomo:/# echo "Este es mi primer mensaje de prueba" | mail -s "[jdomo] prueba" root
root@jdomo:/# echo "Este es mi segundo mensaje de prueba" | mail -s "[jdomo] prueba 2" jdiaz.bb@gmail.com

Si no recibís los correos podéis probar a añadir al comando mail, la opción -v para ir viendo en la consola todo la conversación que se establece con el servidor de correo durante el envío.

Fácil, ¿verdad? Además de utilísimo. Ahora podremos hacer que cuando se reinicie nuestro equipo domótico nos envie un mensaje, o cuando alguien se conecte por SSH, o incluso si tenemos un sensor Arduino/ENC28J60 y perdemos la conexión con él, que nos avise. Hay mil posibilidades, y más ahora con internet en los móviles, nos podremos enterar al instante de los problemas que detecte nuestro sistema.

Espero que os sea tan útil como a mi 🙂

5 comentarios

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.