SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: Filtrering af Michael



On Mon, 23 Oct 2000, Michael wrote:

> From: "Hanne Munkholm" <sslug@sslug>
>
> >Mnja. Eller man kunne melde sig af misc i en tid. Det
> >er bare synd hvis det skulle være nødvendigt.
> 
> Ja iiihhh hvor er det synd for dig. Tænkt sig, at du skulle gøre så meget
> som at lave et filter der smider mine indlæg væk, elelr at du rent faktisk
> skulle undlade at læse indholdet af mine indlæg.

Nu gider jeg simpelthen ikke høre mere på jeres brokkeri over hinanden. Så
nu har jeg lavet et filter, der klarer det for jer.

Og hvis I ikke holder op, så risikerer I at ryge i _mit_ filter. Sgu!

/Ole

#!/usr/bin/perl
#
# michael-filter.pl
# 20001024 Ole Tange <sslug@sslug>
# 
# Filtrer mail væk, som kommer fra generende person eller 
# som er en follow-up/reply i en tråd, hvor den generende person
# har deltaget med et tidligere indlæg (og tråden derfor et blevet 
# totalt afsporet)
#
# Put flg. i .procmailrc
# (ret /home/tange/michael-filter.pl til fuld sti til denne fil)
# :0 fhbw
# | formail -s /home/tange/michael-filter.pl
#
# Known bugs: Der er et lockingproblem, så hvis du læser din mail i pine
# mens der filtreres mail væk, så skal du genstarte pine
# Option 'w' til procmail burde løse det, men gør det ikke.

use GDBM_File;
tie(%blacklist, 'GDBM_File', 'blacklist-msgid', 1, 0700);

while(<>) {
    $header.=$_;
    /^$/ and last;
    /From / and next;
    if(/^(\S+):\s*(.*)/) {
	$lastheader=$1;
	$lastheader=~tr[A-Z][a-z];
	push(@{$header{$lastheader}},$2);
    } elsif (/^\s+(.*)/) {
	push(@{$header{$lastheader}},$1);
    } else { warn(":$_:") }
}
$body=join("",<>);

$from=${$header{'from'}}[0];
$msgid=${$header{'message-id'}}[0];

# if 'From: Michael': blacklist += msg-id
$from=~/sslug@sslug/ and do {
    $blacklist{$msgid}++;
};

# for 'References' {
for (@{$header{'references'}},
     @{$header{'in-reply-to'}}) {
    #  if Ref in blacklist: blacklist += msgid
    if($blacklist{$_}) { $blacklist{$msgid}++; }
}

# if not $blacklist{$msgid} print mail
if(not $blacklist{$msgid}) { print $header,$body; }

untie(%blacklist);




 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:53
Denne side vedligeholdes af MHonArc .