NAME

Config::Manager::SendMail - Simple SMTP CLient

SYNOPSIS

use Config::Manager::SendMail qw( SendMail );

use Config::Manager::SendMail qw(:all);

&SendMail($from,$to,$subject,@text);

&NotifyAdmin($subject,@text);

DESCRIPTION

Dieses Modul stellt die Basisfunktionalitaet zur Verfuegung, um auf einfache Art und Weise Mails zu verschicken. Dies kann z.B. genutzt werden, um sich bei Prozessen, die im Hintergrund laufen und die nicht staendig kontrolliert werden, im Fehlerfall eine entsprechende Meldung schicken zu lassen.

  • &SendMail($from,$to,$subject,@text)

    Diese Funktion sendet eine Mail. Sie stuetzt sich dabei auf das (externe) Modul "Net::SMTP" (aus dem "libnet"-Bundle von Graham Barr) ab, wodurch auch die Portabilitaet fuer alle Plattformen gewaehrleistet ist.

    Parameter: $from    - Mailadresse des Absenders
               $to      - Mailadresse des oder der Empfaenger(s)
               $subject - Betreff der Mail
               @text    - Zeilen des Textes (ohne Newlines!)
    
    Rueckgabe: 1     - OK
               undef - Fehler

    Mails koennen auch an mehrere Empfaenger gleichzeitig geschickt werden. Dazu muessen die jeweiligen Mailadressen einfach nur hintereinander in den String "$to" geschrieben werden, durch Kommas voneinander getrennt.

    "Carbon Copies" ("Cc:") oder "Blind Carbon Copies" ("Bcc:") werden von dieser Funktion jedoch nicht unterstuetzt.

  • &NotifyAdmin($subject,@text)

    Diese Funktion sendet eine Mail an den Administrator. Dieser wird aus der Konfiguration entnommen. Aufgerufen wird dann die Funktion "SendMail()" (siehe oben).

    Wichtig ist, dass auch der in der Konfiguration hinterlegte Name fuer den Client-Rechner ein gueltiger Rechnername sein muss. Ist dies nicht der Fall (z.B. auch dann, wenn dieser String ein "@"-Zeichen enthaelt!), kommt die Fehlermeldung, dass die Verbindung zu dem SMTP-Server von diesem Client aus nicht hergestellt werden konnte. (!)

    Diese Fehlermeldung ist also etwas irrefuehrend.

    Parameter: $subject - Betreff der Mail
               @text    - Zeilen des Textes (ohne Newlines!)
    
    Rueckgabe: -

    Falls das Verschicken der Mail fehlschlaegt, wird als Fallback ein Trace dieser Funktion mit allen Aufrufparametern (also insbesondere dem Betreff und dem Text der Mail) in die Default-Logdatei geschrieben.

    Etwaige Warnungen oder Fehlermeldungen, die die Funktion "SendMail()" auf Halde gelegt haben koennte, werden stets geloescht, indem bei Funktionsende die komplette Halde geloescht wird - unabhaengig davon, ob das Verschicken der Mail geklappt hat oder nicht.

    Dies koennte moeglicherweise Fehlermeldungen oder Warnungen von anderen, vorherigen Routinen loeschen, ohne dass dies gewollt ist. In diesem Fall ist der Aufruf der Routine "clr_hold()" in dieser Funktion auszukommentieren.

  • &Quit($smtp,$server);

    Diese (private) Funktion ist ein Shortcut zum vorzeitigen Abbruch sowie dem normalen Beenden der Verbindung mit dem SMTP-Server.

    Parameter: $smtp    - Referenz auf Net::SMTP-Objekt
               $server  - Rechnername der SMTP-Servers
    
    Rueckgabe: -

SEE ALSO

Config::Manager(3), Config::Manager::Base(3), Config::Manager::Conf(3), Config::Manager::File(3), Config::Manager::PUser(3), Config::Manager::Report(3), Config::Manager::User(3).

VERSION

This man page documents "Config::Manager::SendMail" version 1.7.

AUTHORS

Steffen Beyer <sb@engelschall.com>
http://www.engelschall.com/u/sb/download/
Gerhard Albers

COPYRIGHT

Copyright (c) 2003 by Steffen Beyer & Gerhard Albers.
All rights reserved.

LICENSE

This package is free software; you can use, modify and redistribute it under the same terms as Perl itself, i.e., under the terms of the "Artistic License" or the "GNU General Public License".

Please refer to the files "Artistic.txt" and "GNU_GPL.txt" in this distribution, respectively, for more details!

DISCLAIMER

This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See the "GNU General Public License" for more details.