Aplicaciones GNU/Linux Servidores web

Borrar los mensajes de la cola de exim

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 quiero 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.

EduZRO

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

No Comments

comment No comments yet

You can be first to leave a comment

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *