Instalaremos el paquete "SSMTP" y además un conjunto de herramientas para mandar correos desde la línea de comandos, que nos servirá como "testeo" de la aplicación:
$ sudo apt-get install mailutils ssmtp
Una vez instalados, abriremos el archivo de configuración:
$ sudo nano /etc/ssmtp/ssmtp.conf
Borramos el contenido y añadimos los siguientes parámetros:
root=usuario@gmail.com # especificamos la cuenta reenviadora.
mailhub=smtp.gmail.com:587 # servidor y puerto servidor de correo Gmail hostname=nombre de la Raspberry # hostname de nuestra Raspberry AuthUser=usuario de Gmail # usuario de la cuenta reenviadora AuthPass=contraseña # password de la cuenta reenviadora # permitimos el protocolo de comunicación seguraTLS/SSL UseTLS=Yes UseSTARTTLS=YES FromLineOverride=YES |
Guardado el archivo, asignaremos los permisos oportunos. Debemos ser muy precavidos porque la contraseña de nuestra cuenta Gmail está en texto plano y sin un mínimo de seguridad cualquiera podría acceder a ella. Por eso, tenemos que tener muy claro quién va a acceder al archivo y qué usuarios van a poder mandar emails.
En mi caso, otorgaré el control total al usuario "root" y permiso de lectura al grupo "adm" (administradores del sistema):
$ sudo chown root:adm /etc/ssmtp/ssmtp.conf
$ sudo chmod 740 /etc/ssmtp/ssmtp.conf
También podemos crear un alias para que los usuarios locales puedan reenviar mails. Para configurar cada uno editamos el archivo "revaliases":
$ sudo nano /etc/ssmtp/revaliases
# sSMTP aliases
# # Format: local_account:outgoing_address:mailhub # # Example: root:your_login@your.domain:mailhub.your.domain[:port] # where [:port] is an optional port number that defaults to 25. usuario_local:usuario@gmail.com:smtp.gmail.com:587 |
Con esto podemos asociar un usuario local a nuestra cuenta de gmail.
Una vez configurado todo, tendremos dos opciones probar la aplicación:
- Mandando un correo a través del comando "mail" que instalamos con "mailutils":
$ sudo echo "esto es una prueba" | mail -s Prueba destinatario@gmail.com
Con todo esto, ya podremos enviar mails de notificaciones o alertas automáticamente a través de nuestros scripts desde nuestra Raspberry a cualquier dirección de correo que deseemos...
- Enviando un mail por medio del comando "ssmtp":
$ sudo ssmtp destinatario@gmail.com
Donde detallamos el asunto:
Subject: esto es una prueba desde consola
Pulsamos "enter" e introducimos el cuerpo del mensaje:
Prueba desde Raspberry
Para mandarlo solo tenemos que pulsar "ctrl + d".
Verificamos que nuestro mail se ha enviado correctamente desde el registro del sistema:
$ sudo cat /var/log/syslog
$ sudo cat /var/log/syslog
Hay que tener en cuenta que por defecto Google puede bloquear los intentos de inicio de sesión a nuestro correo de reenvío desde un dispositivo que no utilice sus estándares de seguridad. Para evitar esto accedemos al enlace https://www.google.com/settings/security/lesssecureapps y pinchamos en "activar" en "acceso de aplicaciones menos seguras:
Con todo esto, ya podremos enviar mails de notificaciones o alertas automáticamente a través de nuestros scripts desde nuestra Raspberry a cualquier dirección de correo que deseemos...
No hay comentarios:
Publicar un comentario