Borrar los mensajes de la cola de exim

EximLinux

No solo vamos a ver cómo eliminar todos los mensajes de la cola de exim, sino que también veremos cómo borrar solamente un mensaje.

Podemos utilizar el comando exim -bp para mostrar los emails de la cola de exim tal y como vemos en el siguiente ejemplo:

# exim -bp
  1h 2K 3GpBsH-0003cb-2Q <de@ejemplo.com>
  para@ejemplo.com
  10m 2K 4FoJwG-0001sa-6K <de@ejemplo.com>
  para@ejemplo.com

Ésto nos será útil para ver si los mensajes han sido eliminados y también para obtener el identificador de cada mensaje.

Borrando todos los mensajes de la cola de exim

Si ejecutamos el comando exiqgrep -i obtendremos todos los identificadores de los emails en la cola. Si redirigimos la salida al comando exim -Mrm, todos los mensajes serán borrados. En caso de que algún mensaje esté actualmente siendo procesado, no se eliminará, por lo que tendremos que volver a ejecutar el comando una vez que la tarea haya terminado.

# exiqgrep -i | xargs exim -Mrm

Como resultado, si el primer mensaje ha podido ser eliminado y el segundo no, obtendremos lo siguiente:

Message 3GpBsH-0003cb-2Q has been removed
Message 4FoJwG-0001sa-6K is locked

En este caso, tendremos que ejecutar el comando de nuevo cuando exim haya liberado el mensaje.

Cómo borrar un solo mensaje de la cola de exim

En este caso debemos utilizar el comando exim -Mrm seguido del identificador del email que queremos eliminar. Por ejemplo:

# exim -Mrm 3GpBsH-0003cb-2Q

Si el mensaje se ha eliminado correctamente podremos ver la siguiente salida:

Message 3GpBsH-0003cb-2Q has been removed

Si exim se encuentra procesando el email que queremos eliminar no conseguiremos eliminarlo, por lo que obtendremos la siguiente salida:

Message 3GpBsH-0003cb-2Q is locked

Como hemos visto antes, tendremos que reintentar la operación cuando exim haya liberado el mensaje, aunque si ha conseguido enviarlo, el email será descartado automáticamente de la cola. Otra opción es obtener el identificador del proceso que esté ejecutando el proceso mediante el comando ps -aux y matarlo mediante el comando kill.

¿Y si en lugar de eliminar los mensajes quieres enviarlos?

En este caso tendrás que procesar la cola  de exim y esperar a que el proceso termine. Ten en cuenta que solamente desaparecerán de la cola aquellos emails que se hayan podido enviar con éxito.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

1 comentario en “Borrar los mensajes de la cola de exim

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”