Sendmail – Gestire la coda
In questo articolo parleremo di alcune tecniche per pulire la coda di posta del’ MTA Sendmail, l’articolo rigurardante la coda di Qmail è disponibile qui
La prima procedura da compiere è fermare il server di posta
/etc/init.d/sendmail stop
Per muove la coda in un altra cartella e permettere a sendmail di processare una coda pulita i comandi da dare sono:
mv /var/spool/mqueue /var/spool/mqueue-fixme
mkdir /var/spool/mqueue
chmod 755 /var/spool/mqueue
chown root:daemon /var/spool/mqueue
Per eliminare i messaggi vuoti
cd /var/spool/mqueue-fixme
find . -size 0 -exec rm {} \;
Sendmail mantiene ogni singola email in due file distinti che inizioano con df o qf. Il file che inizia con qf contiene l’ hader del messaggio mentre il file df contiene il messaggio vero e prorio.
Per pulire la coda cercando nell’ header in base ad una ricerca precisa:
cd /var/spool/mqueue
mkdir /var/tmp/CESTINO
grep quellochevogliocercare qf* | cut -d”:” -f1 | uniq | cut -d”f” -f2 | xargs -i echo “mv *{} /var/tmp/CESTINO” > LANCIAMI
chmod 700 LANCIAMI
./LANCIAMI
rm -f LANCIAMI
Una cosa molto importante è tenere sincronizzati i file qf* con file df* , lo script che si occupa di analizzare i file che non hanno il rispettivo corrispondente è questo:
cd /var/spool/mqueue
ls -1 | cut -c 3-16 | sort | uniq -c | sort -n | grep ” 1 ” | awk ‘{print “*”$2}’ > rimuovi
i messaggi presenti nel file rimuovi dovranno essere eliminati
Per fare una ricerca nei messaggi usare il seguente comando e mantenere sincronizzati i df e qf manualmente tramite lo script precedente.
find . -type f -name ‘q*’ | xargs fgrep -l ‘Deferred:’ | xargs rm -v



