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

Escrito por:
Fecha: 2013-05-22 16:00:00 00:00

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

Veamos como instalarlo en Arch Linux

pacman -Sy mutt

Y si estas en el conocido Ubuntu

sudo apt-get install mutt

Configurar mutt para usar gmail

Ahora vamos a enseñar a mutt a usar gmail para enviar sus correos.

Crea o edita el archivo ./muttrc y coloca dentro estos valores.

set from = "user@gmail.com"
set realname = "Guillermo Garron"
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.

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 "Test from mutt" user@yahoo.com < /tmp/message.txt

Para enviar un attachmet.

mutt -s "Test from mutt" user@yahoo.com < /tmp/message.txt -a /tmp/file.jpg

Las opciones usadas son. -s, que fija el asunto, y -a, que adjunta un archivo.

Si quieres escribir todo tu mensaje en la línea.

echo "This is the body" | mutt -s "Testing mutt" user@yahoo.com -a /tmp/XDefd.png

Enviando correos desde scripts

Puedes 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