Dovecot permet de garder tous les mails supprimés par un utilisateur et les mettre de côté pendant une période spécifiée. Ainsi l'utilisateur qui a supprimé par erreur un mail spécifique peut le récupérer sans demander l'aide de l'administrateur.

Tous les mails supprimés (et dont le dossier est compacté) seront placés dans le dossier EXPUNGED de chaque utilisateur. Le dossier est automatiquement créé à la première suppression.

Voici les fichiers de configuration à modifier :
/etc/dovecot/conf.d/91-lazyexpunge.conf
## Lazy Expunge plugin configuration
## https://wiki.dovecot.org/Plugins/Lazyexpunge

plugin {
  ## LAZY EXPUNGE (DUMPSTER Super Poubelle Trash)
  lazy_expunge = EXPUNGED
  acl = vfile:/etc/dovecot/dovecot.acl
  quota_rule2 = .EXPUNGED:ignore
  ##lazy_expunge_only_last_instance = yes
}

/etc/dovecot/dovecot.acl
# L'utilisateur ne peut rien modifier dans le répertoire EXPUNGED
EXPUNGED owner lr
EXPUNGED/* owner lr

/etc/dovecot/conf.d/10-mail.conf
mail_plugins = $mail_plugins lazy_expunge acl

/etc/dovecot/conf.d/20-imap.conf
mail_plugins = $mail_plugins imap_acl

Redémarrer dovecot (avec stop;start, et pas restart, sinon des crashes du processus imap apparaissent) : service dovecot stop;service dovecot start

Pour purger les mails de plus de 30 jours mis dans le dossier EXPUNGED :
doveadm -D expunge -A mailbox EXPUNGED savedbefore 30d, à mettre dans cron
Pour purger les mails de plus de 1 jour d'un utilisateur spécifique :
doveadm -D expunge -u user@domain.tld mailbox EXPUNGED savedbefore 1d