Abe Estrada

mutt + getmail

Tengo una cuenta de correo que prefiero mantenerla “offline”, es decir, descargo los correos con getmail y los borro del servidor y los leo dentro de la terminal utilizando mutt , y esta es la configuración básica para realizar el proceso.

Primero hay que descargar el software, en mi caso utilizando brew :

brew install mutt getmail

Luego hay que crear los directorios para getmail:

mkdir ~/.getmail/
chmod 700 ~/.getmail/
touch ~/.getmail/getmailrc
mkdir -p ~/mail/{,cur,tmp,new}

La configuración para getmail se guarda en el archivo ~/.getmail/getmailrc y es la siguiente:

# http://pyropus.ca/software/getmail/configuration.html#conf-retriever
[retriever]
type = SimpleIMAPSSLRetriever
server = mail.server.net
username = email@domain.com
password = xyzpass

# http://pyropus.ca/software/getmail/configuration.html#conf-destination
[destination]
type = Maildir
path = ~/mail/

# http://pyropus.ca/software/getmail/configuration.html#conf-options
[options]
read_all = false
delete = true
message_log = ~/.getmail/log

En mi caso estoy utilizando IMAP con SSL (SimpleIMAPSSLRetriever) pero hay otras opciones (POP3), todo se guarda en el directorio ~/mail, se descarga todo y se borra del servidor con la opción delete = true.

También se puede agregar descargar el correo cada 5 minutos en cron:

*/5 * * * * getmail --quiet

Una vez que todo el correo se encuentra en la computadora o servidor, puede ser leído con mutt.

Primero hay que crear los directorios para mutt:

mkdir -p ~/.mutt/cache

La configuración se guarda en el archivo ~/.mutt/muttrc y es la siguiente:

# http://www.mutt.org/doc/manual/
set realname="Firstname Lastname"
set from=email@domain.com
set my_pass="xyzpass"
set my_server="mail.server.net"

set charset="UTF-8"

set sort=threads
set sort_browser=date
set sort_aux=reverse-last-date-received

# getmail
set mbox_type=Maildir
set folder=$HOME/mail
set spoolfile=+/
set header_cache=~/.mutt/cache

# refresh
set timeout=10
set mail_check=5
set beep_new

# smtp
set smtp_url=smtp://$from:$my_pass@$my_server
set record="+sent"
set postponed="+postponed"

Y para revisar el correo que ha sido descargado solo hay que entrar a la terminal y escribir mutt.

Para enviar un correo mutt -s "Título" recipiente@servidor.com y utilizar cualquier editor de texto para escribir el correo.