# Exim. Eliminar la cola de correo (un correo o todos)

## Exim eliminar la cola de correo: ¿Cómo hacerlo fácilmente?

¿Buscas cómo eliminar la cola de correo en Exim?

Exim es un agente de transferencia de correo (MTA) que puede utilizarse como alternativa a Sendmail en sistemas Unix. Es el usado por cPanel entre otros.

La función principal de un MTA es recibir mensajes de diferentes fuentes y entregarlos a sus destinos correspondientes.

## Análisis rápido de la cola de correo en Exim

Un servidor de correo, recibe correos electrónicos entrantes y los reenvía a clientes/usuarios de correo.

Exim puede aceptar mensajes de hosts remotos utilizando SMTP sobre TCP/IP, así como de procesos locales.

## La cola de correo en Exim
### Imprimir la lista de mensjaes en cola

```
exim -bp
```

### Mostrar el número de correos en cola
Para mostrar el número de correos electrónicos en la cola, utilizamos el comando:

```
exim -bpc
```

### Contar emails de un usuario 

Para contar los correos electrónicos de un remitente en particular, utilizamos el comando:

```
exim -bp|grep "<"|grep $userName|wc -l
```

#### Contar correos usando exiqgrep

```
exiqgrep -cr $recipientAddress
```

#### Otra alternativa con Exim para contra emails
```
exim -bp|grep $recipientAddress|wc -l
```


## Eliminación de correos en la cola de Exim

A veces es necesario (spam, error de envio, ...) eliminar correos de la cola

### Eliminar TODOS los correos de la cola de Exim

```
exim -bp|grep "<"|awk {'print $3'}|xargs exim -Mrm
```

o su alterntiva

```
exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | bash
```

En este método, el comando 'exim -bp' se utiliza para obtener el ID del mensaje de la cola de correo de Exim.

Luego, eliminamos el correo correspondiente de la cola utilizando el comando 'exim -Mrm' como argumento.

También utilizamos el comando 'exiqgrep' para eliminar la cola de correo.

```
exiqgrep -i | xargs exim -Mrm
```

Además, para eliminar un mensaje específico de la cola, utilizamos el siguiente comando:

```
exim -Mrm {ID-del-mensaje}
```

De manera similar, para eliminar todos los correos electrónicos de un usuario específico de la cola, utilizamos el siguiente comando:

Editado y corregido 16/09/2024
~~exiqgrep -i -f $usuario | xargs exim -Mrm~~

```
exiqgrep -i -f "$userName" | xargs -n1 exim -Mrm
```

También, para eliminar todos los mensajes congelados, utilizamos los siguientes comandos:

```
exiqgrep -z -i | xargs exim -Mrm
```

Con estos comandos, podemos realizar diferentes operaciones de eliminación en la cola de correo de Exim para nuestros clientes.


## Conclusión

En resumen, hemos revisado cómo verificar la cola de correo utilizando comandos de Exim. Sin embargo dejame que te diga que hay plugin muy bueno para la gestiond e colas de Exim en cpanel, como puede ser [ConfigServer Mail Queues - cmq](https://configserver.com/configserver-mail-queues-cmq/)

##### Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. 
También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad.
El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de [Castris](https://castris.com)

Si necesitas soporte profesional puedes contratar con Castris [soporte profesional](https://intranet.castris.com/cart.php?gid=18).