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

Re: mbox-File durchsuchen

Jörg Meltzer - Tue Dec 04 22:16:50 2007

Hallo Stefan,

Wie wärs mit:

perl -e '
while (<>){
  if ($buf =~ /^From\s+-/m) {   # Mailbeginn
    print $buf if $buf =~ /^X-Spam-Status: Yes, score=[345]\.0/m;
    undef $buf;
  }
  $buf.=$_;
}'  /home/sb/test.txt  > spammed.txt


Gruß,
  Jörg


Stefan Bauer schrieb:
> Hallo Liste,
>
> ich stehen hier vor dem Problem, eine größere mbox Datei
> durchforsten zu müssen und mir bei Mails, welche folgendermaßen
> gekennzeichnet sind
>
> X-Spam-Status: Yes, score=3.0 oder score=4.0 oder score=5.0
>
> den dazugehörigen Teil der Mail anzuzeigen, um den Inhalt für den
> Spamfilter zu analysieren.
>
> Meine erste Idee war:
>
> my $mailbox = '/home/sb/test.txt'; open MAILS, "$mailbox" or die
> $!; my @mails = <MAILS>; foreach $_ (@mails) {
> s/score=(3.0)|(4.0)|(5.0)/$`/;
>
> wobei mir die Variable $` bei mehreren Treffern auch Mails zwischen
>  einem erneuten Treffer liefert.
>
> Dann bin ich über das CPAN-Modul Mail::MboxParser gestolpert, was
> es aber scheinbar nicht erlaubt, andere Werte aus dem header zu
> definieren, als die fest hinterlegten:
>
> print $msg->header->{X-Spam-Status:} { ...
>
> gefällt perl garnicht.
>
> Gibt es eine einfache Möglichkeit, welche ich übersehen habe?
> (Bitte keine zu ausgefeilten perl-Techniken, ich will den Ablauf
> verstehen können).
>
> Gruß
>


Next: