#LinuxGER

Re: Sendmail Alias Fehlermeldungen

Michael Stiller (michael@toyland.ping.de)
Mon, 04 May 1998 19:03:33 +0200

Message-ID: <19980504170333.1127.qmail@toyland.ping.de>
To: "Peter Seitz" <seitz@bzs.tu-graz.ac.at>
Subject: Re: Sendmail Alias Fehlermeldungen
In-reply-to: Your message of "Mon, 04 May 1998 13:21:20 +0200."
<F5CFDE49D6@bzs.tu-graz.ac.at>
Date: Mon, 04 May 1998 19:03:33 +0200
From: Michael Stiller <michael@toyland.ping.de>

Hallo,

> ich habe bei meinem Sendmail ein mailalias eingerichtet, welches =

> direkt ein Perl-Programm ausfuehrt (die Mail parst und endsprechende =

> Aktionen macht).
> =

> Mir ist es nun passiert, dass ich im laufenden Betrieb versehentlich =

> dem Perl-Programm die Execute-Rechte genommen habe.
> =

> Die User, welche nun an das Mailalias geschrieben haben haben etwas =

> kryptische Fehlermeldungen bekommen (meist unknown Mailer, oder So), =

> mit denen sie eigentlich nichts anfangen konnten.
> =

> Ich kenne solche Mails auch von anderen PRogrammen, wie z.B. Python.
> =

> Kann man das Alias so absichern, dass der User nicht eine so =

> irrefuehrende Fehlermeldung erhaelt?
> =

Das Skript sollte im Fehlerfalle einen Exitcode zur=FCckgeben, den sendma=
il
versteht. Dazu mu=DF man zun=E4chst "sysexits.ph" einbinden:

require 'sysexits.ph';

Wenn man sysexits.ph nicht hat, kann man dieses aus sysexits.h mit h2ph =

erstellen.

Nun f=E4ngt man im Skript Fehler mit den jeweiligen passenden Exitcodes a=
b. =

z.B.: =

&fail(&EX_NOINPUT,"empty message or timeout");

oder =

&fail(&EX_OSERR,"chdir to $maildirprefix failed");

&fail(&EX_NOHOST,"invalid hostname: $host");

Wobei die Subroutine fail ungef=E4hr so aussieht:

sub fail {
my $exitcode =3D shift;
... # do interesting things
exit($exitcode);
}

Sendmail versteht Exitcodes wie z.b. EX_OSERR oder EX_NOHOST und bastelt
da bessere Fehlermeldungen raus.

-Michael


This archive was generated by hypermail 1.02.