Re: POP3-Remote-Filter?

From: Christian Lackas <c.lackas(at)kfa-juelich.de>
Date: Sun, 21 Sep 2003 15:16:05 +0200

* Christian Weisgerber <naddy(at)mips.inka.de> [030921 04:02]:

Hallo Christian,

> Aus gegebenem Anlass interessiere ich mich brennend für Programme,
> die Messages aus einer POP3-Mailbox nach vielfältigen Kriterien
> löschen können ohne die komplette Message zu downloaden. Ich habe
> vorhin in die RFC geschaut, mit LIST für die Größe und TOP für den
> Header sollte das vom Protokoll her kein Problem sein.

ich benutze da ja Perl für, das hat den Vorteil, dass es maximal
flexibel ist und man dank der RegExp sehr schnell mächtige Regel
zusammenbekommt.

Als Vorlage kann dir z.B. folgendes dienen:

    #!/usr/local/bin/perl -w
    use strict;
    use Mail::POP3Client;
    my $pop = new Mail::POP3Client (
            USER => 'foo',
            PASSWORD => 'bar',
            HOST => 'pop.server.de'
    );
    my $c = $pop->Count();
    print $c, " Mails found.\n";
    deleteit($pop);
    
    sub deleteit {
            my $pop = shift;
            my $c = $pop->Count();
            local $|=1;
            for my $i (1..$c) {
                    print "Mail $i/$c\n";
                    foreach ( $pop->Head($i) ) {
                            /^(From|Subject|To|Date):\s+/i && print $_, "\n";
                    }
                    print "Löschen? (j/n) ";
                    chomp(my $a = <STDIN>);
                    if ($a eq 'j') {
                            print "Lösche $i\n";
                            $pop->Delete($i);
                    }
                    print "\n";
            }
    }
    $pop->Close();

Hier werden jetzt From, Subject, To und Date angezeigt und man wird
gefragt, ob man die Mail löschen will. Man kann hier die Mails natürlich
auch sehr leicht automatisch löschen lassen, wenn bestimmte Kriterien im
Header zutreffen. Es wird (dank »TOP nr 0«) nur der Header der Mail
transferiert.

Gruss
 Christian

-- 
Ich bin nicht übergewichtig, ich bin nur untergroß.
http://www.lackas.net/ Perl Delphi Linux MP3 Searchengines Domainchecker
To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 21 Sep 2003 - 15:16:59 CEST

search this site