Vamos a instalar Mutt, con él podremos enviar correos electrónicos desde la Raspberry y lo vamos a configurar para enviarlos con Gmail ¿alguien no tiene una cuenta en Gmail?… Lo imaginaba, así que al lío. No obstante no es preciso configurarlo con Gmail, se puede hacer con otro servidor. Toda la documentación se encuentra en la web del programa: http://www.mutt.org/
Para instalarlo:
sudo apt-get install mutt
En principio vamos a usarlo sólo desde nuestro usuario “pi”, así que para comenzar creamos un par de directorios que necesita y un archivo:
mkdir –p ~/.mutt/cache/{headers,bodies} touch ~/.mutt/certificates
Se crea todo dentro del directorio oculto .mutt. Con la primera instrucción hemos creado dos subdirectorios, headers y bodies dentro de .mutt/cache. La segunda instrucción lo que hace es crear el fichero vacío certificates dentro del directorio .mutt (si el fichero existiera, el comando touch no lo machacaría, tan sólo cambiaría fecha y hora de creación).
El siguiente paso es crear el fichero de configuración. También irá oculto, así que el nombre irá precedido por un punto: .muttrc Dicho fichero lo colocaremos en la home de pi. Lo podemos crear con cualquier editor de texto, bien desde la propia Raspberry, o bien en el pc y luego mandarlo por FTP. El contenido es el siguiente, puedes copiar y pegar y sustituir USUARIO_GMAIL y PASSWORD_GMAIL por tu usuario y pass de la cuenta que vayas a usar.
set from = "[email protected]" set realname = "Raspberry" set imap_user = "[email protected]" set imap_pass = "PASSWORD_GMAIL" set folder = "imaps://imap.gmail.com:993" set spoolfile = "+INBOX" set postponed ="+[Gmail]/Drafts" set header_cache =~/.mutt/cache/headers set message_cachedir =~/.mutt/cache/bodies set certificate_file =~/.mutt/certificates set smtp_url = "smtp://USUA[email protected]:587/" set smtp_pass = "PASSWORD_GMAIL"
Y con esto ya casi lo tenemos, falta afinarlo. Podemos hacer la primera prueba enviando una línea de prueba a ver qué pasa. Para enviar el texto directamente desde la línea de comandos la sintaxis es la siguiente:
echo “Si lees esto es que todo ha ido bien” | mutt –s “Mensaje de prueba” [email protected]
Y vemos que no, que no ha ido bien.
Nos habla de un protocolo no disponible y de que no ha sido posible la autenticación. Bueno, nada de lo que preocuparse: Lo importante es esto último, la autenticación, y no es culpa nuestra sino de Gmail, bueno, culpa culpa tampoco, es más bien la configuración de seguridad.
Si vamos a la cuenta desde la que hemos intentado enviar el mensaje veremos que hemos recibido uno de alerta:
La solución la tenemos en el propio mensaje, si echamos un vistazo veremos que la solución pasa por “permitir el acceso a aplicaciones menos seguras”, así que vamos a la configuración de la cuenta, le atizamos al deslizante y listo, no hace falta más.
Automáticamente recibimos otro correo que nos indica que esta configuración, que desaconsejan y por la que nos vaticinan ser pasto de las siete plagas, está activada. Así que a probar.
Ok! Vemos que ahora el correo sí que se ha enviado aunque persiste en el mensaje de protocolo ausente. Para evitar esto y que los correos se envíen sin generar errores hay que modificar el fichero gpg.rc que se encuentra en etc/Muttrc.d En él buscamos la línea:
set crypt_use_gpgme=yes
y la ponemos a no:
set crypt_use_gpgme=no
Con esto, si volvemos a probar, vemos que ahora el correo se envía sin problemas.
Apuntamos también cómo se mandaría el mismo correo de prueba con un adjunto, por ejemplo una imagen que se llamara imagendeprueba.jpg:
echo “Si lees esto es que todo ha ido bien” | mutt –s “Mensaje de prueba” [email protected] –a imagendeprueba.jpg
Fácil ¿no?
Y por último para estas breves instrucciones, vamos a ver cómo se mandaría el texto del mensaje si este estuviera dentro de un fichero, llamado por ejemplo textomensaje.txt:
mutt –s “Mensaje desde fichero” [email protected] < textomensaje.txt
Por supuesto podemos usar esta opción y añadir después un fichero, quedando así:
mutt –s “Mensaje desde fichero” desti[email protected] < textomensaje.txt –a imagendeprueba.jpg
Para nuestros fines, con esto nos basta, aunque hay mucha más información en la web de Mutt. Os podéis imaginar que la idea es que la Raspberry nos envíe información por correo electrónico de lo que le pidamos: Estado de los sensores, alarmas, etc. No obstante a mi más que enviar estas alertas por correo prefiero hacerlas por mensajería al móvil, pero eso lo dejamos para la siguiente entrada.