Creative Commons License
Excepto donde se indique otra cosa, todo el contenido de este lugar está bajo una licencia de Creative Commons.
Taquiones > sysadmin > Depurando la configuración de exim4

Depurando la configuración de exim4

Esto no pretende ser una guía exhaustiva del tema, más bien unas notas y apuntes sobre ello para ayudarme en las siguientes ocasiones.

Para ver qué hace exim nada mejor que usar el parámetro de depuración -d con las opciones que necesitemos. Si queremos incluirlas todas usaremos -d+all y si necesitamos restringir algunas prefijamos su nombre con un signo menos (como en -d+all-acl).

Esta es la tabla de opciones (no he traducido las que no he estudiado con más detenimiento):

Categoría Descripción
acl Interpretación del control de acceso
auth Identificación
deliver Lógica general de despacho de correo
dns Búsquedas DNS lookups (ver también la categoría resolver
dnsbl Listas negras por DNS (también conocidas como RBL)
exec Parámetros para llamadas a execv()
expand Expansión de textos y cadenas
filter Manejo de filtros
hints_lookup hints data lookups
host_lookup Todos los tipos de manejos entre nombres y direcciones IP
ident ident lookup
interface lists of local interfaces
lists Búsquedas de cosas en listas
load system load checks
local_scan can be used by local_scan()
lookup Código de búsquedas en general incluyendo todas las búsquedas
memory Gestión de memoria
pid Añadir el ID del proceso (PID) a todas las líneas de depuración
process_info setting info for the process log
queue_run Proceso de colas
receive Lógica general en la recepción de mensajes
resolver Activar la depuración del buscador DNS
retry Gestión de reintentos
rewrite Reescritura de direcciones
route Enrutado de direcciones
timestamp Añadir una marca de tiempo a todas las líneas de depuración
tls Lógica TLS
transport Transportes de correo
uid Cambios de UID/GID y búsquedas de los mismos
verify Lógica de verificación de direcciones
all Prácticamente todas las opciones incluyendo el parámetro -v

Las excepciones son las siguientes:

  • +all: Se excluye la categoría memory puesto que es la opción preferidad para enviar informes a los desarrolladores y la información es excesiva para su gusto (y el de cualquiera).
  • +resolver: sólo se incluye información del buscador DNS cuando se ha compilado exim con la opción DEBUG.
  • La opción predeterminada para depurar, el parámetro -d pelado, excluye las siguientes categorías: expand, filter, interface, load, memory, pid, resolver y timestamp.

Usando una sesión SMTP

Para simular que exim está recibiendo una conexión SMTP desde el exterior se usa el parámetro -bh con la dirección IP que queremos simular.

# exim -bh 10.9.8.7.1234
**** SMTP testing session as if from host 10.9.8.7
**** but without any ident (RFC 1413) callback.
**** This is not for real!

>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? yes (matched "*")
>>> looking up host name for 10.9.8.7
>>> IP address lookup using gethostbyaddr()
>>> IP address lookup failed: h_errno=1
LOG: no host name found for IP address 10.9.8.7
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
220 cimitarra ESMTP Exim 4.67 Sat, 19 May 2007 20:50:13 +0200

pudiendo añadirle el puerto entrante si lo separamos con un punto al final del todo.

Si necesitamos rápidamente una sesión SMTP y concentrarnos en el contenido tenemos la opción con el programa swaks, un excelente testeador para el correo:

# swaks --pipe "exim4 -d+all -bh 10.9.8.7.1234" -f yo@mismo.com -t tu@tambien.com

y si necesitamos que el contenido sea un mensaje de factura propia usaremos cualquiera de sus opciones para ello.

Usando un mensaje de correo