Readers: 16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use MIME::Lite; MIME::Lite -> quiet (1); MIME::Lite -> send ( 'smtp', $config{smtp_host}, Timeout => 60, AuthUser => $config{smtp_user}, AuthPass => $config{smtp_pass}, ); my $msg = MIME::Lite -> new ( Encoding => 'quoted-printable', From => "$config{from_name} <$config{from_mail}>", To => "$config{empfaenger_name} <$config{empfaenger_mail}>", Subject => $config{betreff}, Type => 'TEXT', Data => $config{text}, ); my $str = $msg -> as_string; print "Mail wird verschickt...\n"; $msg -> send or die "Mist\n"; my $last = $msg -> last_send_successful (); if (defined $last && $last) { print "Letzte Sendung erfolgreich\n"; } else { print "Sendung FEHLERHAFT!\n"; }
1
2
3
4
5
6
7
8
9
10
D:\>perl mime_mail.pl
Mail wird verschickt...
Uncaught exception from user code:
SMTP auth() command failed:
authentication failed (#5.7.1)
at C:/strawberry/perl/site/lib/MIME/Lite.pm line 2873
MIME::Lite::send_by_smtp('MIME::Lite=HASH(0xcee58c)', '*************', 'Timeout', 60, 'AuthUser', '******', 'AuthPas
s', '********') called at C:/strawberry/perl/site/lib/MIME/Lite.pm line 2574
MIME::Lite::send('MIME::Lite=HASH(0xcee58c)') called at mime_mail.pl line 42
2010-03-31T17:14:50 topegIch hätte auch mit return-Werten gearbeitet. Das wäre überall möglich so weit ich das sehe.
2010-03-31T17:05:56 topegHabe gerade in den Code geschaut. Da seht bei jedem Fehler "Carp::croak" nur an einer Stelle ist es mit "$QUIET" unterdrückbar.
2010-03-31T16:55:07 GwenDragonPacke alles in einen eval-Block und prüfe, ob was in @? steht.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
use MIME::Lite; MIME::Lite -> quiet (1); my $last=eval{ MIME::Lite -> send ( 'smtp', $config{smtp_host}, Timeout => 60, AuthUser => $config{smtp_user}, AuthPass => $config{smtp_pass}, ); my $msg = MIME::Lite -> new ( Encoding => 'quoted-printable', From => "$config{from_name} <$config{from_mail}>", To => "$config{empfaenger_name} <$config{empfaenger_mail}>", Subject => $config{betreff}, Type => 'TEXT', Data => $config{text}, ); my $str = $msg -> as_string; print "Mail wird verschickt...\n"; $msg -> send or die "Mist\n"; return 1 if $msg -> last_send_successful (); } if (defined $last && $last) { print "Letzte Sendung erfolgreich\n"; } else { print "Sendung FEHLERHAFT! ($@)\n"; }