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

Re: [Debian] killfile fuer mutt mit procmail



Hallo Janto,
>From the keyboard of Janto,

> Hi,
> 
> ich wuerde gerne das Eintragen von Spammern und sonstigen Leuten in
> die .procmailrc automatisieren und habe mir dafuer folgendes
> mutt-Makro geschrieben:
> 
> macro index <F12> "|grep "^From:" | sed -e 's/ *(.*)//; s/>.*//; s/.*[:<] *//' -e 's/\(.*\)/|.*\1/' >> $HOME/.spam\n" "spammer killen"
> 
> Theoretisch, sprich in der Shell, funktioniert das aber wenn ich das
> Makro aus Mutt heraus aufrufe wird die Adresse aus From: _und_
> X-Envelope-From: in .spam geschrieben. Es sieht also so aus als ob
> 'grep "^From:"' irgendwie nicht richtig funktioniert, weiß vielleicht
> jemand warum?

Ja, im manual von Mutt steht's:
...
The first is that control characters in sequence can also be specified as ^x.  In order
to get a caret (`^'') you need to use ^^.
... 

Also 
macro index <F12> "|grep ^^From: | ....

> Wenn das Problem geloest ist, habe ich in .spam eine Liste der zu
> filternden Adressen:
> 
> $ cat .spam
> .*believe_michael04@ziplip.com
> |.*vendas@apoloinformatica.com.br
> |.*news@dosordie.de
> |.*newtoplevelextensions@hotmail.com
> |.*jimsrelaysdotnet@wherehasmyworldgone.com
> |.*mervinsmith@hotmail.com
> |.*leoasgard@hotmail.com
> |.*exca27@virgilio.it
> |.*adsl64809047@163.com
> |.*imbh21@hanmail.net
> 
> In meiner .procmailrc steht ausserdem folgendes:
> 
> spam=`cat $HOME/.spam`
> spam=`echo $spammer | sed -e 's/ //g'`
> 
> '$spam' sieht danach so aus (eine Zeile):
> 
> .*believe_michael04@ziplip.com|.*vendas@apoloinformatica.com.br| \
> .*news@dosordie.de|.*newtoplevelextensions@hotmail.com| \
> .*jimsrelaysdotnet@wherehasmyworldgone.com|.*mervinsmith@hotmail.com| \
> .*leoasgard@hotmail.com|.*exca27@virgilio.it|.*adsl64809047@163.com| \
> .*imbh21@hanmail.net
> So jetzt zu dem eigentlichen Problem. Ich dachte, dass ich $pam
> einfach in einer .procmail Regel benutzen kann:
> 
> :0
> * ^From: ($spam)
> spam
> 
> aber das funktioniert leider nicht. Hat vielleicht jemand eine
> andere Idee?

:0   
* 1^0 ^From:.*spammer.*
* 1^0 ^From:.*spammer2.*
* 1^0 ^From:.*spammer3.*
spam 

Dein .spam-file müßte dann natürlich angepasst werden.
1^0 steht für oder.

Was du noch beachten solltest ist die Variable LINEBUF:
LINEBUF     Length  of  the  internal line buffers, cannot be set smaller than 128.
            All lines read from the rcfile should not  exceed  $LINEBUF  characters
            before  and  after  expansion.   If not specified, it defaults to 2048.
            This limit, of course, does not apply to the  mail  itself,  which  can
            have arbitrary line lengths, or could be a binary file for that matter.
            See also PROCMAIL_OVERFLOW

Dein $spam könnte mit der Zeit sicher über 2048 Zeichen hinauswachsen, 
bei der von mir erwähnten oder-Methode wäre das nicht der Fall.

Die Seite dürfte außerdem noch interessant sein:
http://www.helms.sh/linux/config/procmail/

bye
    Waldemar

P.S: Sag mal Bescheid, ob das alles so hinhaut, dann setze ich das
vielleicht auch mal ein.

-- 
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------

947 eingetragene Mitglieder in dieser Liste.


Reply to: