Este artículo detalla los comandso esenciales y las técnicas de gestión de la cola de correo para Postfix, un agente de transporte de correo (MTA) ampliamente utilizado.
Estructura de las Colas de Correo en Postfix
Postfix orgeniza los correos electrónicos en varias colas, cada una gestionada por un proceso centralizado:
maildrop: Almacena temporalmente el correo local antes de ser procesado y copiado aincoming.incoming: Contiene los correos que están en proceso de recepción o que aún no han sido descubiertos por el proceso de gestión.active: Guarda los correos que el proceso de gestión ha abierto y está a punto de entregar. Esta cola tiene un límite de tamaño.deferred: Alberga los correos que no se han podido entregar en el intento actual, posponiendo su reintento.
Operaciones Básicas de Postfix
Para iniciar, detener, verificar y recargar la configuración de Postfix, utilice los siguientes comandos:
- Iniciar Postfix:
/usr/sbin/postfix start - Detener Postfix:
/usr/sbin/postfix stop - Verificar la configuración de Postfix:
/usr/sbin/postfix check - Mostrar la configuración activa:
postconf -n - Recargar la configuración de Postfix:
/usr/sbin/postfix reload
Gestión de la Cola de Correo
La siguiente tabla resume los comandos para interactuar con la cola de correo:
| Acción | Comando |
|---|---|
| Listar correos en cola | mailq o postqueue -p |
| Contar correos en cola | mailq | wc -l o postqueue -p | wc -l |
| Ver el contenido de un correo específico | postcat -q <Queue_ID> |
| Forzar el envío de todos los correos en cola | /usr/sbin/postfix flush o postqueue -f |
| Retener temporalmente un correo problemático | postsuper -h <Queue_ID> o postsuper -h ALL deferred |
| Reanudar la entrega de un correo retenido | postsuper -H <Queue_ID> o postsuper -H ALL deferred |
| Reinsertar un correo en la cola para reintento | postsuper -r <Queue_ID> o postsuper -r ALL |
| Eliminar un correo específico | postsuper -d <Queue_ID> |
| Vaciar completamente la cola | postsuper -d ALL |
Eliminar correos en estado deferred |
postsuper -d ALL deferred |
Administración Avanzada de la Cola y Archivos de Registro
Para gestionar correos pendientes de entrega o con errores, puede ser necesario interactuar directamente con el sistema de archivos y revisar los reigstros:
- Listar todos los correos en estado
deferredcon información detallada: ``` find /var/spool/postfix/deferred -type f -exec ls -l --time-style=+%Y-%m-%d_%H:%M:%S {} ; - Eliminar correos en la cola
deferredque no se han podido enviar en más de 3 días: ``` find /var/spool/postfix/deferred -type f -mtime +3 -exec rm -f {} ; - Eliminar registros de correos diferidos (en la cola
defer) que superan los 5 días: ``` find /var/spool/postfix/defer -type f -mtime +5 -exec rm -f {} ;
Monitorización de Registros
Los siguientes comandos le ayudarán a monitorizar los registros del sistema y de Postfix para diagnosticar problemas:
- Registros generales del sistema:
tail -f /var/log/messages - Registros de correo de Postfix (muy completos):
tail -f /var/log/maillog - Registros específicos de
maildrop:tail -f /var/log/maildrop.log - Registros de ClamAV (antivirus):
tail -f /var/log/clamav/clamd.logytail -f /var/log/clamav/freshclam.log