· Tutorial ·

Cómo comprobar la cola de correos de un servidor Linux en SW Hosting

En ocasiones nos podemos encontrar que nuestro servidor de correo está generando una cola de mensajes elevada. En estos casos, es recomendable comprobar el comportamiento del servidor de correo para asegurarnos que todo está funcionando correctamente.

CRITICAL: postfix mail is 203 (threshold c =200)

Cómo comprobar si los servicios están activos

Lo primero que deberíamos comprobar sería que todos los servicios referentes al servidor de correo estén funcionando correctamente. Para ello, debemos dirigirnos a nuestra cuenta de SWPanel y, mediante el buscador superior, acceder al dashboard de nuestro servidor de correo:

Posteriormente, mediante el apartado de "Estado de los servicios", podemos ver el estado de todos los servicios del servidor de correo:

Cómo comprobar la cola del servidor de correo

Si todos los servicios están activos, deberemos revisar cuál es el motivo por el que los correos se están almacenando en la cola del servidor y no están llegando a su destino.

Para ello, nos conectaremos por SSH al servidor de correo. En el siguiente Manual podrás ver cómo conectarte a la consola de tu servidor mediante SWPanel.

Una vez en la consola del servidor, usaremos el siguiente comando para comprobar la cola del servidor:

mailq

Este comando nos mostrará los mensajes de correo que se encuentran en la cola con el siguiente formato.

Cada mensaje de correo se mostrará con las siguientes partes:

  1. Identificador: Este código identifica de forma única a cada mensaje del servidor. Un identificador solo puede identificar a un mensaje de un mismo servidor.
  2. Cuenta de origen: Esta es la cuenta que ha enviado el mensaje (Si la cuenta de origen es MAILER-DAEMON el mensaje lo ha enviado el propio servidor de correo).
  3. Cuenta de destino: Esta es la cuenta a la que va dirigida el mensaje de correo.
  4. Mensaje de error: Este mensaje nos informa, de forma breve, del motivo por el cual no se ha podido enviar nuestro mensaje de correo.

Por último, al final de la salida del comando mailq nos mostrará el número actual de mensajes que se encuentran en la cola del servidor.

info Los mensajes que no se hayan podido entregar se volverán a intentar enviar pasado un tiempo. Si se supera el número de intentos de entrega para un mismo mensaje, este se eliminará de forma automática.

Mensajes de error más comunes

Los mensajes de error más comunes son algunos de los siguientes:

'Over quota': La cuenta de correo electrónico de destino se encuentra llena en su totalidad.

'Conection refused': Este mensaje suele deberse a que se está procesando un gran volumen de correo en el momento en que se recibió/envió el mensaje. Se volverá a intentar enviar más tarde.

'Conection timed out': El error indica que el servidor de destino está tardando demasiado en responder la petición realizada desde este servidor. El mensaje se intentará enviar nuevamente más tarde.

'Service temporarily unavailable': Comúnmente puede deberse a que el servidor de destino se encuentra sobrecargado o inactivo.

Para más información acerca de los errores al enviar correos puedes consultar el siguiente Manual.

Cómo comprobar el contenido de un mensaje de correo

Si el servicio de Hosting desde el que se ha enviado el mensaje no dispone de certificado de seguridad TLS para el correo y el mensaje se encuentra en la cola, podremos ver el contenido del mismo, así como las cabeceras del mismo.

Para instalar un certificado TLS gratuito para el correo puedes seguir el siguiente Manual.

En el caso de que el servicio de Hosting sí que tenga el certificado TLS para el correo instalado, únicamente podremos ver las cabeceras del mensaje. El contenido del mismo estará encriptado por lo que será ilegible.

Para ver el contenido de un mensaje deberemos utilizar el siguiente comando sustituyendo "ID" por el identificador real del mensaje que queremos leer:

postcat -q ID
  1. 'From': Cuenta de origen
  2. 'To': Cuenta de destino
  3. 'Subject': Asunto del mensaje de correo
  4. 'Content': Cuerpo del mensaje

Cómo borrar mensajes de correo de la cola del servidor

⚠️ IMPORTANTE: Si se elimina un correo de la cola del servidor, será totalmente imposible recuprerarlo⚠️

Para eliminar un correo de la cola del servidor podemos hacerlo de diferentes formas:

  1. Eliminar un solo correo: Se eliminará el mensaje con el identificador especificado (Sustituir 'ID' con el identificador real del mensaje).
postsuper -d ID
  1. Eliminar todos los correos de una cuenta: Con el siguiente comando se eliminarán todos los correos de la cuenta especificada (Cambiar la cuenta de correo de ejemplo).
postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } / [email protected]/ { print $1 }' | tr -d '*!' | postsuper -d -
  1. Eliminar todos los correos de la cola del servidor: Se vaciará la cola del servidor de correo.
postsuper -d ALL deferred
i