Publicado por fher98 on 9/12/08 • bajo Exim, Linux
Ultimamente he estado trabajando mas en servidores de correo basados en Exim que en Courier, por lo tanto me ha tocado que buscar documentacion y howto’s del funcionamiento y administracion de la cola del Exim 4. Y debido a todo esto aca esta mi cheat sheet del Exim 4 MTA.
Los identificadores de mensajes o message-IDs que utiliza Exim 4 para hacer referencia en su queue (cola) son alfa numericos y mayusculas y minusculas, y tienen la forma de: XXXXXX-YYYYYY-ZZ. La mayoria de los comandos relacionados con la cola y las bitacoras hacen uso de estos message-ids.
Cada mensaje de correo en el spool tiene tres archivos. Si estan trabajando con estos archivos a mano en lugar de utilizar el comando de Exim apropiado asegurense de tener los tres.
Los archivos dentro de este directorio contienen la informacion de bitacora para cada mensaje y son nombrados al igual que los message-id.
Estos archivos son nombrados segun el message-id, mas un sufijo denotando si son el envelope header (-H) o el message data (-D).
Estos directorios contienen subcarpetas para manejar grandes colas de correo, asi que no todo va a estar en /var/spool/exim/input o /var/spool/exim/msglog. Toda busqueda o greps tendran que ser recursivos.
Debido a que estos comandos son administrativos y propios de Exim, deberan ser ejecutados con el usuario root.
exim -bpc : Despliega la cuenta de los mensajes en el queue.
exim -bp : Despliega un listado de los mensajes en cola (tiempo en cola, tamaño, message-id, remitente, recipiente).
exim -bp | exiqsumm : Despliega un resumen de los mensajes en cola (cuenta, volumen, viejos, nuevos, dominio y totales).
exiwhat : Despliega lo que Exim esta haciendo en ese momento.
root@localhost# exim -bt alias@localdomain.com user@thishost.com <-- alias@localdomain.com router = localuser, transport = local_delivery root@localhost# exim -bt user@thishost.com user@thishost.com router = localuser, transport = local_delivery root@localhost# exim -bt user@remotehost.com router = lookuphost, transport = remote_smtp host mail.remotehost.com [1.2.3.4] MX=0
exim -bh 10.0.10.157 : Ejecuta una transaccion SMTP de prueba desde la linea de comandos, como si viniera de la direccion IP dada. Esto despliega los cheks, ACLs y filtros de Exim como se van aplicando. Este mensaje no sera entregado.
exim -bP : Despliega la configuracion de Exim.
Exim viene con un utilitario llamado exiqgrep, muy bueno para hacerle grep al queue. En lugar de estar usando una serie de comandos como exim -bp, awk, grep, cut o wc -l.
Ahora veamos una serie de banderas para encontrar cuales mensajes hacen match a nuestras busquedas.
exiqgrep -f [luser]@domain : Con -f para buscar en la cola mensajes desde un remitente.
exiqgrep -r [luser]@domain : La bandera -r nos sirve para buscar dentro de la cola un recipiente/dominio especifico.
exiqgrep -o 86400 [...] : Utilizamos -o para imprimir mensajes mas antiguos que el numero de segundos especificado. En este ejemplo, mensajes anteriores a 1 dia.
Use -y to print messages that are younger than the specified number of seconds. For example, messages less than an hour old:
exiqgrep -y 3600 [...] : Agregando el flag -y al comando, Exim despliega los mensajes mas recientes que el numero de segundos. En nuestro ejemplo, mensajes de menos de una hora.
Use -s to match the size of a message with a regex. For example, 700-799 bytes:
exiqgrep -s ‘^7..$’ [...] : Usando -s para buscar los mensajes con un tamaño de acuerdo a la expresion regular utilizada (regex). De 700 a 799 bytes, segun nuestro ejemplo.
Con -z encontramos mensajes congelados (frozen), o -x para aquellos descongelados (unfrozen).
Tambien existen las banderas para controlar el despliege.
exiqgrep -i [ -r | -f ] … : Agregando -i despliega solo el ID de mensaje de las busquedas.
exiqgrep -c … : Con -c imprime la cuenta de los mensajes encontrandos con las busquedas anteriores.
exiqgrep -i : La bandera -i despliega el ID de mensaje de toda la cola.
Popularity: 3%