#!/usr/bin/perl use Net::POP3; use MIME::Parser; use warnings; use strict; my $subject_width = 10; my $from_width = 50; print "Mail Server: xx.yy.at\n"; my $mailserver = "xx.yy.at"; print "Username: xxxxx\n"; my $username = "xxxx"; print "Password: *******\n"; my $password = "xxxx"; #Verbindung zum Server wird aufgebaut; my $pop3 = Net::POP3->new($mailserver, Timeout => 5) or die "Verbindung zu $mailserver nicht aufgebaut"; #Anmeldung am Server; my $tot_msg = $pop3->login($username,$password) or die "Fehler beim anmelden $username"; if($tot_msg != 0){ print ("\n Sie haben $tot_msg Nachrichten\n\n"); print "Nr. Betreff: Von: Neuigkeit:\n"; print "_________________________________________________\n"; } else { print ("\n Sie haben keine neue Nachricht\n\n"); } foreach my $msg_id (1 .. $tot_msg) { my $header = $pop3 -> get($msg_id); my ($subject, $from, $status) = analyze_header($header); #Abfrage von welche Email Adresse #if( index( lc $from, "steiner" ) >= 0 ){ printf "[%1d] %-${subject_width}s... %-${from_width}s... %6s\n", $msg_id, substr($subject,0,$subject_width), substr($from ,0,$from_width ), $status; #} } if($tot_msg != 0){ print "Emails Loeschen?[y] or [n]\n"; }else { print "Quit?" } my $quit = ; chomp $quit; if (lc $quit eq 'y') { print "quitting and deleting...\n"; foreach my $msg_id (1 .. $tot_msg) { $pop3->delete($msg_id); } $pop3 -> quit; } sub analyze_header { my $header_array_ref = shift; my $header = join "", @$header_array_ref; my ($subject) = $header =~ /Subject: (.*)/m; my ($from ) = $header =~ /From: (.*)/m; my ($status ) = $header =~ /Status: (.*)/m; if (defined $status) { $status = "Unread" if $status eq 'O'; $status = "Read" if $status eq 'R'; $status = "Read" if $status eq 'RO'; $status = "Ne $status = "-";w" if $status eq 'NEW'; $status = "New" if $status eq 'U'; } else {$status = "-";} return ($subject, $from, $status); }