9.6.3.2.- Comprobar la cola de correo

emailUn servidor de correo gestiona la cola de los mensajes que debe distribuir. Esta cola es similar a la cola de tareas de impresión, con la diferencia de que en lugar de enviar tareas a una impresora, se envían mensajes de correo a otro ordenador o se almacenan en los buzones de los usuarios locales. Esta tarea puede resultar muy compleja. Se le puede pedir al servidor que distribuya muchos mensajes en muy poco tiempo, por lo que es posible que tenga que retrasar el envío de algunos mensajes mientras trabaja en otros, incluso pueden aparecer problemas que deriven en una incapacidad temporal o permanente para enviar mensajes. Si el fallo es temporal, el servidor de correo guardará el mensaje e intentara enviarlo más tarde. Por tanto, la cola de correo de un ordenador puede contener mensajes no enviados. Identificar estos mensajes y gestionar la cola será de utilidad para mantener la fluidez del subsistema de correo en un ordenador Linux.

El programa mailq es la principal herramienta para la administración de colas de correo. Originalmente formaba parte del paquete sendmail aunque postfixeximqmail y otros servidores SMTP tienen implementados comandos compatibles, pero las opciones de los comandos difieren entre implementaciones. El comando sin opciones muestra el contenido de la cola de correo en todos los sistemas:

mailq_1

Este ejemplo, tomado de un sistema que ejecuta postfix, muestra un mensaje de la cola con información relevante para su identificación. El formato exacto varía de un servidor SMTP a otro. Normalmente escribir mailq equivale a sendmail -bp.

Si la conexión de red se cae temporalmente o si un servidor de correo deja de estar operativo durante un tiempo, los mensajes se amontonarán en la cola y el servidor SMTP intentará redistribuirlos más adelante; si nuestra conexión vuelve a funcionar y deseamos vaciar la cola de inmediato, en la mayoría de servidores SMTP escribiremos senmail q, otros servidores tienen comandos equivalentes como postqueue en postfix o runq en exim.

Todos los servidores de correo proporcionan opciones para priorizar el envío de correos, aceptar mensajes por la línea de comandos, borrar mensajes específicos de la cola, depurar conexiones de correo, etc. Lamentablemente, los comandos y procedimientos que utilizan estas funcionalidades varían de un servidor a otro, por tanto, deberíamos consultar la documentación de nuestro servidor para saber cómo utilizar estas funcionalidades.