SSL/TLS, POP/SMTP com mutt (http://www.mutt.org)

configurado para autistici.org
versão 20060619


Objetivos:
  • ler emails usando mutt com POP via TLS/SSL
  • enviar email autenticado via TLS/SSL com mutt+msmtp
Assumindo:
  • que você já está familiarizado em receber emails usando mutt com POP
  • que você já configurou mutt para enviar emails com mutt+msmtp
  • que você já tem uma conta ativa coomo USER@autistici.org e sabe a sua SENHA em uso


Como não tenho totalmente consciência das causas e consequências, vou postar aqui a minha solução que está funcionando, com um certo grau de redundância e verbosidade.

Toda a solução levou algumas horas de recompilando/experimentando, com mudanças compilando flags (como eu estou usando o sistema Gentoo Linux, eu peguei algumas flags do mutt e mutt e mstmp usando 'emerge -pv mutt msmtp' e compilando os programas usando 'USE= emerge mutt').

Saída de `mutt -v`:

#Mutt 1.5.11 (2005-09-15)
...
#Sistema: Linux 2.6.16.17 (i686) [using ncurses 5.4] [using libidn 0.5.15
...
#Opções de compilar:
#+USE_POP +USE_NNTP +USE_IMAP -USE_GSS -USE_SSL +USE_GNUTLS -USE_SASL
...


então, o mutt com pop e gnutls configurado (e não USE_SSL nem USE_SASL).

Saída de `msmtp --version`:

#msmtp version 1.4.0
#TLS/SSL library: GnuTLS
#Authentication library: GNU SASL
#Supported authentication methods:
#plain cram-md5 digest-md5 external login
#System configuration file name: /etc/msmtprc


então, msmtp com GNUTLS e SASL, ao contrário do padrão 'ssl' Gentoo flag

1a) Para ler via POP no mutt, adicione e customize a seguinte linha (veja em seguida) em .muttrc, adapte os termos SENHA e USER:

macro index ":set dsn_notify=:unhook *:unset
pop_user:unset pop_pass:set
pop_host=mail.autistici.org:set
pop_user=USER@autistici.org:set
pop_pass=PASSWORD
pops://USER@autistici.org@mail.autistici.org:my_hdr From:
USER :set sendmail='/usr/bin/msmtp -a
USER':reply_to From: USER
" "USER@autistici.org POP"


1b) Acrescente o certificado do autistici.org para o email POP para ~/.mutt/certificates e adicione a seguinte linha em .muttrc:

set certificate_file=~/.mutt/certificates

(ou o mutt vai mandar você adicionar o certificado automaticamente)

1c) Coloque o seguinte no .muttrc SOMENTE se você tiver problemas de conflito com outras contas:

set pop_authenticators="digest-md5:apop:user"

2a) Para enviar, coloque isso no seu padrão .msmtprc:

account USER
port 587
from USER@autistici.org
user USER@autistici.org
auth on
password PASSWORD
tls on
host smtp.autistici.org


2b) Teste a configuração do seu msmtp enviando uma mensagem "foo" para você mesma :

echo foo | msmtp -a USER USER@autistici.org

3) Se tudo isso funcionar, dê um temp do computador e curta a sua vida. Senão, você pode encontrar uma solução melhor que essa e nos avisar :)




Note que experimentando essa configuração, eu envio um email sem ter o certificado autistici.org funcionando! Isso não é necessário.

Esse tipo de recebimento requer o certificado.