Tratando de solucionar algunos problemas derivados de la reciente
migración del servidor de correo de escomposlinux.org, he
descubierto lo útil que es el modo debug que posee el cliente de correo
mutt.
Para usalo, primero hay que asegurarse que mutt ha sido compilado con
el modo debug activo, algo tan fácil como comprobar que +DEBUG
aparece
entre las opciones de compilación de mutt -v
:
$ mutt -v | grep "+DEBUG"
+DEBUG
Luego es cuestion de pasar el flag -dN
a mutt, donde N es el
nivel de debug deseado de 1 a 5:
La única cosa que no me convence es que la salida de debug siempre se
almacena en un fichero llamado .muttdebug0
(si éste ya existía, el
viejo se renombra a .muttdebug1
, y así sucesivamente) en vez de poder
nosotros indicar el nombre de fichero que queramos.
Lo bueno del este modo debug es que, aparte del funcionamiento interno
de mutt, nos permite ver también la negociación de protocolos tales como
SMTP, POP3, IMAP entre el cliente (mutt) y el servidor, lo cual es
especialmente útil cuando usamos sus versiones cifradas SSL/TLS
(escenario en el que usar un sniffer de red es bastante inútil). Os
pongo un ejemplo de mutt hablando con el servidor de SMTP con SASL
(algunos datos han sido alterados por seguridad):
[2015-04-03 14:21:47] Buscando smtp.escomposlinux.org...
[2015-04-03 14:21:47] Conectando a smtp.escomposlinux.org...
[2015-04-03 14:21:47] Connected to smtp.escomposlinux.org:587 on fd=6
[2015-04-03 14:21:48] 6< 220 gorgoroth.escomposlinux.org ESMTP Postfix
[2015-04-03 14:21:48] 6> EHLO localhost.localdomain
[2015-04-03 14:21:48] 6< 250-gorgoroth.escomposlinux.org
[2015-04-03 14:21:48] 6< 250-PIPELINING
[2015-04-03 14:21:48] 6< 250-SIZE 8192000
[2015-04-03 14:21:48] 6< 250-VRFY
[2015-04-03 14:21:48] 6< 250-ETRN
[2015-04-03 14:21:48] 6< 250-STARTTLS
[2015-04-03 14:21:48] 6< 250-ENHANCEDSTATUSCODES
[2015-04-03 14:21:48] 6< 250-8BITMIME
[2015-04-03 14:21:48] 6< 250 DSN
[2015-04-03 14:21:48] 6> STARTTLS
[2015-04-03 14:21:48] 6< 220 2.0.0 Ready to start TLS
[2015-04-03 14:21:48] SSL/TLS connection using TLS1.2 (ECDHE-RSA/AES-256-GCM/AEAD)
[2015-04-03 14:21:49] 6> EHLO localhost.localdomain
[2015-04-03 14:21:49] 6< 250-gorgoroth.escomposlinux.org
[2015-04-03 14:21:49] 6< 250-PIPELINING
[2015-04-03 14:21:49] 6< 250-SIZE 8192000
[2015-04-03 14:21:49] 6< 250-VRFY
[2015-04-03 14:21:49] 6< 250-ETRN
[2015-04-03 14:21:49] 6< 250-AUTH PLAIN LOGIN
[2015-04-03 14:21:49] 6< 250-ENHANCEDSTATUSCODES
[2015-04-03 14:21:49] 6< 250-8BITMIME
[2015-04-03 14:21:49] 6< 250 DSN
[2015-04-03 14:21:49] SASL local ip: 192.168.XXX.YYY;42053, remote ip:AA.BB.CC.DD;587
[2015-04-03 14:21:49] External SSF: 256
[2015-04-03 14:21:49] External authentication name: usuario@escomposlinux.org
[2015-04-03 14:21:49] mutt_sasl_cb_authname: getting authname for smtp.escomposlinux.org:587
[2015-04-03 14:21:49] mutt_sasl_cb_authname: getting user for smtp.escomposlinux.org:587
[2015-04-03 14:21:49] mutt_sasl_cb_pass: getting password for usuario@escomposlinux.org@smtp.escomposlinux.org:587
[2015-04-03 14:21:49] Authenticating (PLAIN)...
[2015-04-03 14:21:49] 6> AUTH PLAIN 0012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
[2015-04-03 14:21:49] 6< 235 2.7.0 Authentication successful
[2015-04-03 14:21:49] SASL protection strength: 0
[2015-04-03 14:21:49] SASL protection buffer size: 65536
De la misma manera se puede usar para hacer debugging de POP3 o IMAP
(pero eso ya lo dejo como ejercicio para el lector interesado).
Naturalmente, esto se puede hacer con otras herramientas, pero es un
montaje mucho más aparatoso y laborioso, mientras que usando mutt basta
con un simple flag. Con la ventaja añadida que mutt conoce los
protocolos y puede aportar información interna adicional si algo va mal.
Como digo, muy útil.
:wq