mimedecode does not work for me :-/
Hallo Leute,
In der lezten Zeit (so um die 2 Jahre) bekomme ich immer mehr und
mehr SPAMs in base64 und quoted-printable die durch "spamassassin"
durchschlüpfen und mit nicht mehr als 1.3-2.5 gescored werden. Da
ich E-Mails in gut drei dutzend Sprachen erhalte (über 40 unter-
schiedliche charsets und encodings) kann ich sprachen oder charsets
in spamassassin nicht höher scoren.
Nun, jetzt ist es so, das ich mir einen eigenen Filter gebaut habe,
welcher den Body der E-Mails nach stichwörtern absucht. Funktioniert
nun immer weniger obwohl die stichwörter vorhanden sind. Woher ich
das weis? 'mutt' kann diesen Müll (koi8-r, utf-8, gb2023 und weis
der Geier was anstandslos decodieren...
Gut, mein (vereinfachter) Filter sieht so aus
CACHE=`cat ~/.tdmailtools/LIST_body`
RAWMESSAGE=`cat /dev/stdin`
TEST=`echo -e "RAWMESSAGE" |mimedecode |\
formail -f -I "" |\
fgrep --ignore-case "$CACHE" |\
head -n 1`
welcher eigentlich perfect funktioniert, solange us-ascii oder
iso-8859-1 deklariert ist. Nun habe ic sowas wie
sed "s/=\?[Uu][Tt][Ff]-8\?/=?us-ascii?/g"
zum code hinzugefügt (ander charsets ebenso) und
'mimedecode'!
TEST=`echo -e "RAWMESSAGE" |sed "s/=\?koi8-r\?/=?us-ascii?/g" |\
mimedecode |\
formail -f -I "" |\
fgrep --ignore-case "$CACHE" |\
head -n 1`
Ahhh, interessant, jetzt kann 'mimedecode' plötzlich das base64 oder
quoted-printable decodieren und ich kann koi8-r SPAM sehen, welcher
aber nur US-ASCII verwendet.
Ihr könnt es einfach mit:
echo "This is a =?koi8-r?B?Ymx1YmJlcg==?= test whether it works." |\
mimedecode
ausprobieren und dann noch
echo "This is a =?koi8-r?B?Ymx1YmJlcg==?= test whether it works." |\
sed "s/=?koi8-r?/=?iso-8859-1?/" |mimedecode
Nun meine Frage:
Die 'sed' Orgie plue 'mimedecode' geht geht mir ziehmlich auf den
senkel (habe schon nen bugreport/wishlist an mimedecode geschrieben,
eine zusätzlich option hinzuzufügen, welches encoding iso-8859-1
erzwingt wenn standard encoding fehlschlägt).
Kennt jemand eine Tool das mit allen Encodings zurecht kommt?
Bitte keine PERL-Machine, denn die benötigt rund 3 mal länger als
mein BaSH Script mit 'sed' und bei über 170.000 Messages pro Tag
finde ich das nicht allzu sonderlich lustig.
Bin schon am überlegen ob ich nicht einfach 'mimedecode' forken sollte.
Danke für die Hilfe
Michelle Konzack
--
Linux-User #280138 with the Linux Counter, http://counter.li.org/
##################### Debian GNU/Linux Consultant #####################
Michelle Konzack Apt. 917 ICQ #328449886
50, rue de Soultz MSM LinuxMichi
0033/6/61925193 67100 Strasbourg/France IRC #Debian (irc.icq.com)
Reply to: