Zum Inhalt, überspringe Kopfzeile Zum Navigation, überspringe Kopfzeile
Mittlerweile hat wohl jeder im Internet eine E-Mail-Adresse. Der klassische Weg auf die E-Mails zuzugreifen ist mit Hilfe eines E-Mails-Clients und den Protokollen POP3 oder gar, was noch besser ist, IMAP. Die meisten Leute werden aber nur die Weboberfläche ihres E-Mail-Providers kennen.
Diese Weboberflächen sind mehr oder weniger gut gemacht. Manche sind von der Funktionalität echt super durchdacht, andere aber leider mehr als mangelhaft. Wer eine E-Mail-Adresse hat kennt auch das leidige Problem mit SPAM, unerwünschter E-Mail. Bei den meisten Providern enthält der E-Mail-Service auch einen SPAM-Filter.
Es gibt aber noch Provider wo das nicht der Fall ist. Oder man hat vergessen diesen anzuschalten. Wenn man jetzt längere Zeit nicht in das Postfach schaut können sich da gerne hunderte bis tausende von Mails ansammeln. Diese nun über die Weboberfläche zu löschen ist nicht immer komfortabel bzw. lässt sich schnell erledigen.
So hatte ich letztens den Fall das ich über 5000 Mails im Postfach eines Webmaster-Accounts löschen musste. Die Weboberfläche lies immer nur das Löschen von 20 Mails zu. Mal ganz davon abgesehen das zwischen jedem Aufruf der Löschfunktion etliche Sekunden verstrichen sind – sprich, die Weboberfläche vom Provider war quälend langsam.
Wie nun am einfachsten alle E-Mails löschen? Ich könnte natürlich meinen E-Mail-Client einrichten das er die E-Mails abholt und gleich via POP3 löscht. Das bedeutet aber das ich alle E-Mails zuerst runterladen müsste. Dies ist aber unerwünscht. Ich entschied mich für folgendes kleines Perl-Script das alle E-Mails im Postfach direkt via POP3 löscht:
#!/usr/bin/perl
use Net::POP3;
print "Loesche alle E-Mails vom POP3-Server...\n";
$server = "pop3.example.com"; # POP3-Server
$user = "peter.mustermann;example.com"; # Benutzername
$password = "geheim"; # Passwort
$pop = Net::POP3->new($server);
die "FEHLER: Kann keine Verbindung herstellen!" unless $pop;
$total = $pop->login($user, $password);
die "FEHLER: Keine Mails vorhanden oder kann keine Verbindung herstellen!" unless $total;
print "Anahl: $total\n";
for($i = 0; $i<$total; $i++) {
print "- #$i\n";
$pop->delete($i);
}
$pop->quit();
exit 0;
Bitte mit Vorsicht benutzen! Alle E-Mails werden ohne Nachfrage gelöscht.
Geschrieben von Stefan Jahn in Perl um 14:00 | Kommentare (0) | Trackbacks (0)
Zum Inhalt zurück, überspringe Navigation | Zum Seitenanfang