Exim : nettoyage du spool

Boris HUISGEN
Boris HUISGEN
|

Cet article porte sur le nettoyage du spool de messages d’Exim

Le spool du serveur correspond à des fichiers bases de données, stockés dans /var/spool/exim/db, où sont enregistrés le statut de chaque message envoyé / refusé / bloqué vers les serveurs SMTP externes et locaux, comme par exemple celui du filtre antivirus amavisd-new.

En cas d’arrêt brutal du serveur, l’antivirus peut refuser la soumission de mail. Exim en retour interrompt l’envoi des mails pour la période de retry et des évènements de ce type peuvent apparaître dans les journaux :

2009-11-03 10:19:27 1EjCDp-0045dF-BP == email@my.domain R=amavis T=amavis defer (-53): retry time not reached for any host

Seul le nettoyage du spool permet de débloquer l’envoi. Ceci s’effectue grâce à la commande _eximtidydb, supprimant toutes les entrées obsolètes. Ainsi, pour relancer la soumission des mails :

# exim_tidydb -t 7d /var/spool/exim/ retry

Le délai de suppression est limité à 7 jours, ce qui est amplement suffisant.

Pour afficher le contenu d’une base de données, _eximdumpdb est utile :

# exim_dumpdb /var/spool/exim/ retry

03-Nov-2009 15:46:51  03-Nov-2009 16:07:20  03-Nov-2009 16:22:20
    T:cluster12.us.messagelabs.com:216.82.250.35 111 77 Connection refused
28-Oct-2009 11:06:07  29-Oct-2009 11:11:03  29-Oct-2009 17:11:03
    T:example.com:192.0.32.10 110 321 Connection timed out
03-Nov-2009 11:36:24  03-Nov-2009 22:33:54  04-Nov-2009 03:37:39
    R:v@luxe.diplo.de:<info@amcham.lu> -44 12877 SMTP error from remote mail server after RCPT TO:<v@luxe.diplo.de>: host mx1.bund.de [77.87.224.134]: 450 4.7.1 <info@amcham.lu>: Sender address rejected

Pour automatiser ce nettoyage, les commandes suivantes pourront être placées en exécution journalière :

# exim_tidydb -t 7d /var/spool/exim/ retry
# exim_tidydb -t 7d /var/spool/exim/ misc
# exim_tidydb -t 7d /var/spool/exim/ wait-amavis
# exim_tidydb -t 7d /var/spool/exim/ wait-remote_smtp

Les noms des fichiers doivent correspondre à votre installation, donc au contenu de /var/spool/exim/db.

Boris HUISGEN
Boris HUISGEN
Blog owner
  • #exim