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

Re: killfile fuer mutt mit procmail



Hallo Uwe,

* Uwe Kerstan <uwe.kerstan@gmx.de> [01-10-01 08:20]:

> > Ich will doch den Absender und nicht den Empfaenger filtern, oder
> > wie meinst Du das?
> 
> Hi Janto, die Absender ändern sich manchmal sehr schnell.

Ja klar, die Frage war bescheuert.

> Viele schichen den SPAM aber über Bcc oder Cc. Hast Du noch
> nie eine Mail bekommen, wo *Du* *nicht* im To standest?

Doch schon aber ich bekomme eigentlich relativ wenig Spam.

Ich hab jetzt mal ein kleines Script geschrieben, dass From, To, Cc
und Message-ID ausgibt und man dann auswaehlen kann was in das
killfile geschrieben werden soll. Das ganze ist noch ziemlich quick
and dirty aber das Hauptproblem ist, dass ich keine Tastureingaben
aus STDIN lesen kann weil die Mailheader ja schon aus STDIN kommen.
Ich haenge das Script mal an, vielleicht hat jemand eine Idee.

Janto

-- 
11011110101011011011111011101111
#!/usr/bin/perl

use Fcntl;
$killfile=$ENV{"HOME"}."/.spam";

while (<>) {
  SWITCH: {
    ($_ =~ s/^From: //) && do { @head = $_; last SWITCH; };
    ($_ =~ s/^To: //) && do { push @head, (split (/,/, $_)); last SWITCH; };
    ($_ =~ s/^Cc: //) && do { push @head, (split (/,/, $_)); last SWITCH; };
    ($_ =~ s/^Message-ID: //) && do { push @head, $_; last SWITCH; };
  }
}

chomp @head;
for ($i=0;$i<$#head+1;$i++) {
  print "[$i] $head[$i]\n";
  $head[$i] =~ s/.*\s+<?((\w*\.*\w*\-*\w*)*\@(\w*\-*\w*)*\.\w*)>?.*/$1/;
}

print "> ";
$x = <STDIN>;
@x = split (/ /, $x);
#@x = split (/ /, <STDIN>);

sysopen(KF, $killfile, O_WRONLY | O_APPEND | O_CREAT);
foreach $i (@x) {
  print KF $head[$i];
}
close KF;


Reply to: