05 junio 2015

Envía correos usando gmail y mutt desde la línea de comandos

A mi me gusta mucho pasar el tiempo en la línea de comandos, y muchas veces me gusta enviar los correos desde la misma.

A veces son archivos de configuración, o notas para mi mismo, pero desde luego sin abandonar la línea de comandos.

Veamos como utilizar mutt y gmail para lograr precisamente esto.

Instalar Mutt:

En Slackware
root@gostir:[~]# slapt-get -i mutt

En Arch Linux
root@gostir:[~]# pacman -Sy mutt

Y si estas en Ubuntu (creo)
sudo apt-get install mutt

Configurar mutt para usar gmail

Ahora vamos a configurar mutt con gmail para enviar correos.

Crea o edita el archivo ./muttrc y coloca dentro estos valores.
set from = "user@gmail.com"
set realname = "Cosme Fulanito"
set imap_user = "user@gmail.com"
set imap_pass = "password"
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://user@smtp.gmail.com:587/"
set smtp_pass = "password"
set move = no
set imap_keepalive = 900

Modifica arriba tu usuario y password.

Vamos a crear los directorios necesarios.
root@gostir:[~]# mkdir -p /.mutt/cache

Enviando correos desde la línea de comandos de Linux

Ahora que hemos configurados todos, solo nos resta enviar los correos:

mutt -s "Prueba desde mutt" user@yahoo.com > /tmp/message.txt

Para enviar un adjunto:

mutt -s "Prueba de mail desde mutt" user@yahoo.com > /tmp/message.txt -a /tmp/Porno.jpg

Las opciones usadas son:

-s, que define el Asunto

-a, que adjunta un archivo.

Si queres escribir todo tu mensaje en la línea.
echo "Este es el cuerpo del mensaje" | mutt -s "Probando mutt" user@yahoo.com -a /tmp/Porno.png

Enviando correos desde scripts

Podes usar cualquiera de estas lineas, para enviar correos desde scripts, pero debes tener en cuenta que el usuario que envia el correo, debe ser el que tenga configurado el .muttrc