[PHP] POP3-Postfach leeren

marac

Well-known member
ID: 272843
L
1 Februar 2007
2.061
321
Hallo allerseits,

ich habe ein POP3-Postfach, in dem (durch einen externen Dienst gefiltert) mein ganzer Spam-Müll landet. Nun bin ich auf der Suche nach einem PHP-Skript, mit dem ich auf einen Rutsch das ganze Postfach leeren kann.

Kann mir da jemand ein fertiges Skript empfehlen, oder einen Codeschnipsel als Grundlage zukommen lassen, den ich mir dann entsprechend anpassen kann?

Danke!

marac
 
Äh - ja - das PHP-Handbuch ist mir durchaus bekannt... :mrgreen:

Ich hatte eigentlich auf ein kleines Bisschen mehr gehofft ;)

Aber eigentlich ist das ja gar nicht so wild:

PHP:
<?php

$mbox = imap_open("{pop.irgendwo.tld/pop3:110}INBOX", "user", "password")
    or die("Can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);
echo "Messages before delete: " . $check->Nmsgs . "<br />\n";

$nNumMsgs = $check->Nmsgs;
for($n=1; $n<=$nNumMsgs; $n++) {
imap_delete($mbox, $n);
}

$check = imap_mailboxmsginfo($mbox);
echo "Messages after  delete: " . $check->Nmsgs . "<br />\n";

imap_expunge($mbox);

$check = imap_mailboxmsginfo($mbox);
echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";

imap_close($mbox);
?>

Scheint zu funktionieren...

Irgendetwas daran auszusetzen?

Edit: Naja, vielleicht sollte ich noch irgendeine Klatsche einfügen, dass z.B. nur maximal 1000 Mails auf einmal gelöscht werden, um nicht in den Request-Timeout vom Webserver zu laufen...