UNItopia News: Brett Computer, Gruppe UnixSysteme, Artikel 530
-------------------------------------------------------------------------------
Titel: gzip als Spamfilter
Artikel: 530 Bezug: 0
Verfasser: Lysistrate Datum: 31.01.03 14:52:19
-------------------------------------------------------------------------------
Hallo Leute,
hier kommt ein Shellscript, das prueft, ob eine Nachricht Spam ist oder
nicht.
Man nehme einen Ordner Spam und einen Ordner Normalmail und lasse gzip
drueber laufen. Dann braucht man nur noch eine zu testende Mail.
Es scheint am besten zu gehen, wenn die Nachricht laenger ist bzw.
man mal mehrere Spams hintereinander packt.
Das Skript dazu folgt: (es heisst checkspam)
#!/bin/sh
refgood=mail.good.gz
refspam=mail.spam.gz
test=$*
if [ "x$test" = "x" ]
then
echo Usage: checkspam filename
exit
fi
echo Pruefe \'$test\'...
tmp=/tmp/$RANDOM
gzip -dc $refgood >$tmp
cat $test >>$tmp
gzip $tmp
f1=`filesize $refgood`
f2=`filesize $tmp.gz`
diffgood=`expr $f2 - $f1`
rm -f $tmp.gz
gzip -dc $refspam >$tmp
cat $test >>$tmp
gzip $tmp
f1=`filesize $refspam`
f2=`filesize $tmp.gz`
diffspam=`expr $f2 - $f1`
rm -f $tmp.gz
echo Good:$diffgood
echo Spam:$diffspam
if [ $diffgood -le $diffspam ]
then
echo Nachricht ist in Ordnung.
else
echo Nachricht ist Spam.
fi