Technische Infos/Webpräsenzen/CGI-Programmierung/CGI Mail

Aus Technische Infos - info.noris.net
Wechseln zu: Navigation, Suche

Hinweise zur CGI-Programmierung - noris::CGI::Mail

Das Modul noris::CGI::Mail stellt Ihnen in Form der Funktion noris::CGI::Mail::send() ein einfach zu verwendendes Interface zum Versenden von Mails aus Ihren Perl-CGI-Scripts zur Verfügung.

Als Argumente übergeben Sie dieser Funktion einfach den Mail-Text als Liste - die einzelnen Elemente werden vor dem Versand automatisch durch Zeilenumbrüche getrennt -, sowie gegebenenfalls zusätzliche Header-Informationen in Form einer Hash-Referenz:


use noris::CGI::Mail;
noris::CGI::Mail::send { Subject => 'Bestellung per WWW',
                          To => 'info@Ihre-Domain.de' },
                         @text
                or die "Fehler beim Mailversand:  $noris::CGI::Mail::errstr";


Im Normalfall liefert die Funktion die Liste der Empfänger(innen)adressen - mithin einen wahren Wert - zurück. Sollte hingegen ein Fehler aufgetreten sein, enthält $noris::CGI::Mail::errstr eine entspechende Fehlermeldung.


Durch das Setzen folgender globaler Variablen können Sie das Verhalten von noris::CGI::Mail::send() beeinflussen:



  • $noris::CGI::Mail::LF
Der Inhalt dieser Variable wird an jedes Element des Mail-Textes (im obigen Beispiel @text) angehängt, vorher wird ein eventuell bereits vorhandener Zeilenvorschub am Ende abgeschnitten (chomp()). Voreingestellt ist ein Zeilenvorschub ( ).
Sie müssen sich also nicht um den Zeilenumbruch kümmern, wenn Sie den Text der Mail als zeilenweise Liste übergeben.
Um dieses Feature auszuschalten, können Sie die Variable auf undef setzen.


  • $noris::CGI::Mail::Validate
Per Default werden alle E-Mail-Adressen - soweit möglich - mittels Email::Valid auf ihre Gültigkeit überprüft.
Möchten Sie dies nicht, können Sie diese Variable auf undef setzen.
Soll nur die Syntax, nicht jedoch die Existenz der jeweiligen Domains (MX-Records) überprüft werden, so setzen Sie diese Variable bitte auf 0.



Falls Sie - beispielsweise für statistische Zwecke - die Environment-Variable $ENV{REMOTE_HOST} benötigen, sollten Sie zu Beginn Ihres Perl-CGI-Scripts - folgenden Befehl aufnehmen, da diese Variable zur Effizienzsteigerung vom Web-Server nicht notwendigerweise automatisch gesetzt wird:


use noris::CGI::setRemoteHost;