Technische Infos/Webpräsenzen/CGI-Programmierung/CGI Mail: Unterschied zwischen den Versionen

Aus Technische Infos - info.noris.net
Zur Navigation springen Zur Suche springen
Zeile 46: Zeile 46:


use noris::CGI::setRemoteHost;  
use noris::CGI::setRemoteHost;  





Version vom 8. Juni 2010, 07:40 Uhr

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;




zurück