[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: