Pulizia Spam

Codice Insano Nessun Commento

Ecco un piccolo scriptino bash da far girare all’interno di un server di posta Linux/BSD.

Lo script riportato di seguito elimina tutti i messaggi di posta contrassegnati come spam dal vostro sistema antispam e manda una mail all’amministratore con il resoconto della pulizia effettuata.

Questo script è utile se non vengono cancellati periodicamente i messaggi dal server di posta. In questo modo, su un mail server con parecchio traffico, è possibile risparmiare diversi Mb di spazio ogni giorno.

Ovviamente la stringa “***SPAM” può essere sostituita con quella inserita dal vostro sistema nell’oggetto delle email riconostiute come posta indesirata.

Qui di seguito riporto il codice.
grep -lr "\***SPAM" /home/vpopmail/domains/[nome dominio]/ > listaspam.tmp
totalespazio=0;
t=0;
for i in `cat listaspam.tmp`; do
dim=`cat $i | wc -c`;
let totalespazio=totalespazio+dim
let t=t+1
rm -f $i
done;
let totalespazio=totalespazio/1024;
rm -f listaspam.tmp
du -mcs /home/vpopmail/domains/[nome dominio]/ > totalespaziomail.tmp
echo Sono stati eliminati $t messaggi di Spam.
echo -e “Sono stati eliminati $t messaggi di Spam per un totale di $totalespazio Kbyte.\nTutti i Messaggi email sul server occupano un totale di Mb `grep -hv totale totalespaziomail.tmp`” > msg.tmp
rm -f totalespaziomail.tmp
mail -s “Pulizia Spam di `date +’%A %d %B %Y eseguita alle ore %k:%M’`” [indirizzo email o utente di sistema] < msg.tmp
rm -f msg.tmp