18 de dez de 2008

Mutt com imap e ssmtp


Motivação:

Normalmente administradores de sistemas leem muitos e-mail's por dia, tanto de usuários como de máquinas, logs, avisos de servidores etc. Então, é preciso ler rápido, tomar as decisões necessárias sem perda de tempo. Assim é possível gerenciar bem as contas de e-mail usando uma dupla imperdível, simples e completa: mutt e vim.
Com o mutt é possível ler aos e-mails sem perda de tempo, responder, encaminhar aplicando assinaturas GPG, sem ficar se perdendo entre logos, imagens e outras coisas que conspiram contra a produtividade e foco no que é necessário. Mutt é um mail agente simples, rápido e totalmente customizável, um verdadeiro canivete suiço para sua produtividade.


O mutt permite o acesso às contas imap, por exemplo, gmail e lhe permite usufruir das tecnologias da computação em nuvem no que tange à armazenamento de e-mail. Para acessar sua conta do gmail usando o mutt, será preciso ajustar os seguintes arquivos: .muttrc, gmailout e ssmtp.



Exemplo do .muttrc, as entradas abaixo devem ser adicionadas ao seu arquivo .muttrc que normalmente fica em /home/usuario/.muttrc . Troque os campos de acordo com sua conta e senha.


.muttrc
#gmail stuff
set from=user@gmail.com
set realname="Seu nome real"
set reverse_name=yes
set reverse_realname=no
set imap_user = 'userdogmail'
set imap_pass="passworddouser"
set spoolfile = imaps://imap.gmail.com:993/INBOX
set folder = "imaps://imap.gmail.com:993"
set record=+sent-mail-`date +%Y`
set record="+[Gmail]/Sent Mail"
set postponed="+[Gmail]/Drafts"
set header_cache="~/.mutt/cache/headers"
set message_cachedir="~/.mutt/cache/bodies"
set certificate_file=~/.mutt/certificates
set sendmail="~/.mutt/gmailout"
macro index d "s=INBOX.Deleted%20Items\n" "Save message to the Deleted Box"


Exemplo do gmailout

O gmailout, é um script responsável por encaminhar suas mensagens enviadas para autenticação no gmail e enviar para o destinatário. Neste exemplo, este script fica em .mutt com atributos 755 (chmod 755 gmailout)

#!/bin/sh/usr/sbin/ssmtp -au "usergmail" -ap "password" $@


Exemplo do ssmtp

O ssmtp permite enviar e-mail usando o smtp do seu provedor, neste caso o gmail. Sendo um pacote GNU/Debian tem instalação muito facilitada (aptitude install ssmtp) . O conf deste ssmtp fica em /etc/ssmtp/ssmtp.conf e deve ficar da seguinte forma:


## Config file for sSMTP sendmail
## The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:465
# Where will the mail seem to come from?
rewriteDomain=
# The full hostname
hostname=localhost
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=NO
#
mailhub=smtp.gmail.com:465
UseTLS=YES




Pronto. Bem vindo ao melhor Mail User Agente.


[update]Uma macro interessante para usar no ~/.muttrc ; é a seguinte:
macro index    d "s=[Gmail]/Trash\n" "Save message to the Deleted Box"
Assim, ao ser apagado algum e-mail, o mutt move para a pasta Trash do Gmail. Útil se você precisa recuperar o e-mail ou se você alterna entre o mutt e gmail via web. Caso queira trocar o nome da marcação Trash para INBOX.Deleted%20Items , por exemplo, altere a macro assim:
macro index    d "s=INBOX.Deleted%20Items\n" "Save message to the Deleted Box" 
Perceba que o \n indica que o mutt não vai lhe pedir confirmação a cada item movido entre pastas. Caso queira confirmação, remova o \n .


Caso queira ver o valor de todas as variáveis definidas em ~/.muttrc emita o comando mutt -D .

[/update]
Powered by ScribeFire.
Referências:http://www.mutt.org/doc/manual/http://www.vim.org/http://www.andrews-corner.org/mutt.htmlhttp://www.sys-concept.com/Mutt_connections.html