Thread Fehlerhandling mit MIME::Lite (12 answers)
Opened by bianca at 2010-03-31 18:30

bianca
 2010-03-31 18:30
#135537 #135537
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
Bin dabei, meine E-Mail Versendung auf MIME::Lite umzustellen, klappt auch super. Komme nur mit der Fehlerbehandlung nicht ganz klar.

Im folgenden Script habe ich ganz bewußt einen falschen SMTP-User angegeben, um den Fehler zu provozieren.
Und obwohl ich sowohl mit MIME::Lite->quiet(1) und $msg->send or die "Mist\n" arbeite, kommt auf STDOUT/STDERR eine Fehlermeldung bei mir raus.
Wie kann ich das besser machen?

Danke

Relevanter Ausschnitt:
Code (perl): (dl )
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"; }


Ausgabe (SMTP-Daten durch Sterne ersetzt):
Code: (dl )
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
10 print "Hallo"
20 goto 10

View full thread Fehlerhandling mit MIME::Lite