Purger les mails sous cyrus

cyrus ipurge

Voici une méthode qui devrait vous simplifier la vie, ou tout cas la mienne oui.

Voici comment purger les mails sous Cyrus en fonction de certains critères, comme l’age, le poids…

Pour cela il suffit d’utiliser la commande cyrus ipurge

Voici comment supprimer les mails plus vieux qu’un date donnée.

[root@srv imap]# su - cyrus -c "/usr/lib/cyrus-imapd/ipurge -d510 -f user/pydubreucq*"
Working on user/pydubreucq...
total messages             9
total bytes                35144
Deleted messages           1
Deleted bytes              4426
Remaining messages         8
Remaining bytes            30718
Working on user/pydubreucq/Brouillons...
total messages             0
total bytes                0
Deleted messages           0
Deleted bytes              0
Remaining messages         0
Remaining bytes            0
Working on user/pydubreucq/Courrier ind&AOk-sirable...
total messages             0
total bytes                0
Deleted messages           0
Deleted bytes              0
Remaining messages         0
Remaining bytes            0
Working on user/pydubreucq/El&AOk-ments envoy&AOk-s...
total messages             4
total bytes                9728
Deleted messages           4
Deleted bytes              9728
Remaining messages         0
Remaining bytes            0
Working on user/pydubreucq/El&AOk-ments supprim&AOk-s...
total messages             8
total bytes                12051
Deleted messages           8
Deleted bytes              12051
Remaining messages         0
Remaining bytes            0
Working on user/pydubreucq/INBOX...
total messages             7
total bytes                32574
Deleted messages           7
Deleted bytes              32574
Remaining messages         0
Remaining bytes            0
Working on user/pydubreucq/Priv&AOk-...
total messages             0
total bytes                0
Deleted messages           0
Deleted bytes              0
Remaining messages         0
Remaining bytes            0

Explication de la commande :

su - cyrus -c "/usr/lib/cyrus-imapd/ipurge -d510 -f user/pydubreucq*"
|     1       |            2              |  3  | 4 |           5            |

1 = Cela permet de lancer la commande qui suit avec l’utilisateur cyrus

2 = La commande ipurge avec le chemin complet

3 = -d pour days soit 510 jours avant

4 = -f pour Force la suppression dans toutes les mailbox (sous-répertoire)

5 = user/pydubreucq* La maibox et tous ses sous-mailbox (sous-répertoire) – Attention à bien choisir le nom de la mailbox comme trouvé via cyradm

A savoir qu’il est possible d’utiliser cette technique pour par exemple supprimer tous les mails dans le dossier Spam avec une exécution en cron pour tous les utilisateurs par exemple.

Les options à placer pour identifier les mails à purger sont :

[ -d days | -b bytes | -k Kbytes | -m Mbytes ]

Voilà, qui va me faire gagner pas mal de temps et j’espère à vous aussi.

Author: Pierre-Yves Dubreucq

Passioné par les logiciels libres depuis 2001, je suis VP Bare Metal (Dedibox) chez Scaleway. Je tiens ce blog depuis 13 ans avec beaucoup moins d'assiduité malheureusement qu'à ses débuts, mais bon, le temps est une denrée rare.

Share This Post On

Submit a Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *