The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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: -

HISTORY

 2003_02_05  Steffen Beyer & Gerhard Albers  Version 1.0
 2003_02_14  Steffen Beyer                   Version 1.1
 2003_04_26  Steffen Beyer                   Version 1.2