Inspeccionando la cola de correos sin entregar en Postfix

Por defecto se reintenta la entrega de los correos cada 5 minutos y se descartan (generando un correo de advertencia al remitente) si no ha podido hacerse transcurridos cinco días del envío. Podemos variar estos valores introduciendo los siguientes parámetros en el fichero de configuración principal (/etc/postfix/main.cf):

1
2
queue_run_delay = 600
maximal_queue_lifetime = 1d

Existen más parámetros relacionados con esta directiva en este enlace del manual de postfix.

Podemos inspeccionar la cola de postfix para ver que mensajes no ha podido entregar y la causa de ello en cualquier momento usando los comandos mailq o postqueue -p (ambos son equivalentes y proporcionan la misma salida aunque mailq es un comando mucho más flexible y potente con más opciones).


8A5E9E9225A 1708097 Mon Mar 7 22:40:01 a.hernandez@dominio.com.mx
(host dedrelay.securesvrfix.mx[208.109.80.210] refused to talk to me: 554 p3plsmtps2ded45.prod.phx3.securesvrfix.mx : HOSTING RELAY : d9OoamSM5zzCi : DED : You've rea
ched your daily relay quota - 209.109.80.210)
alatorre.c@dominio2.com
d.molina@grupomaas.com.mx8B012E9266E 67309 Mon Mar 7 17:55:15 a.hernandez@dominio.com.mx
(host dedrelay.securesvrfix.mx[208.109.80.54] refused to talk to me: 554 p3plsmtpout045.prod.phx3.securesvrfix.mx: HOSTING RELAY : d9JyaxC4eLF21 : DED : You've reach
ed your daily relay quota - 208.109.80.210)
sfernandez@dominio2.com.mx

el identificador del mensaje que nos permite ver mucha más información acerca del mismo, su estado y su contenido usando el comando postcat -vq seguido de dicho identificador. Por ejemplo, para inspeccionar el primer mensaje de la cola de aquí arriba:

1
postcat -vq A3C3486137

También podemos decirle en cualquier momento a postfix que reprocese esos mensajes mediante los comandos postqueue -f o postfix flush. O podemos pedirle que reintente sólo uno de los mensajes de la cola usando el identificador que ya conocemos así:

1
postqueue -i A3C3486137

Por último, para eliminar todos los mensajes en espera de entrega que están en la cola podemos usar el siguiente comando:

1
postsuper -d ALL deferred

Ten en cuenta que, en este caso, los mensajes serán eliminados sin que el remitente reciba ningún tipo de notificación de que no ha podido realizarse la entrega.

El siguiente comando elimina de la cola de correos el mensaje especificado.

postsuper -d D8D24E923E4

Postfix – Comandos básicos

Para aquellos que se estén iniciando en el mundo del MTA Postfix, ahí van unos comandos útiles para el manejo de la cola de correo:

postsuper -d numero (eliminar el mensaje)
postsuper -d ALL (eliminar todos los mensajes)
postsuper -r Number (Encolar de nuevo el mensaje)
postsuper -r ALL (Encolar de nuevo todos los mensajes)
postqueue -p (Mostrar la cola de correo por pantalla)
postqueue -f (Hacer un flush de la cola de correo, intentar enviar todos los correos)