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

Aus Technische Infos - info.noris.net
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(26 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
=Hinweise zur CGI-Programmierung - noris::CGI::Mail=
[[Kategorie:E-Mail]]
=Hinweise zur CGI-Programmierung - <b>noris::CGI::Mail</b>=
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 [http://www.perl.com/ Perl]-CGI-Scripts zur Verfügung.
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 [http://www.perl.com/ Perl]-CGI-Scripts zur Verfügung.
Zeile 5: Zeile 6:
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:
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:


{|class="wikitable" border="1px solid"
| use noris::CGI::Mail;


noris::CGI::Mail::send { Subject =&gt; 'Bestellung per WWW',
{|class="wikitable" border="1px solid" align="center"
|
 
use noris::CGI::Mail;
noris::CGI::Mail::send { Subject =&gt; 'Bestellung per WWW',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  To =&gt; [mailto:'info@Ihre-Domain.de' 'info@Ihre-Domain.de'] },
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @text
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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:
 
 
 
 
 
:* <b>$noris::CGI::Mail::LF</b>
::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.
 
 
:* <b>$noris::CGI::Mail::Validate</b>
::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.


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To =&gt; [mailto:'info@Ihre-Domain.de' 'info@Ihre-Domain.de'] },


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @text


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or die "Fehler beim Mailversand: $noris::CGI::Mail::errstr";


|}
Falls Sie -&nbsp;beispielsweise für statistische Zwecke&nbsp;- die Environment-Variable $ENV{REMOTE_HOST} benötigen, sollten Sie zu Beginn Ihres [http://www.perl.com/ Perl]-CGI-Scripts - folgenden Befehl aufnehmen, da diese Variable zur Effizienzsteigerung vom Web-Server nicht notwendigerweise automatisch gesetzt wird:


<p>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.</p>
<p>Durch das Setzen folgender globaler Variablen können Sie das Verhalten von noris::CGI::Mail::send() beeinflussen:</p>
<ul>
<li>$noris::CGI::Mail::LF<br />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.<br />Um dieses Feature auszuschalten, können Sie die Variable auf undef setzen.
<li>$noris::CGI::Mail::Validate<br />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.</li></ul>
<p>Falls Sie -&nbsp;beispielsweise für statistische Zwecke&nbsp;- die Environment-Variable $ENV{REMOTE_HOST} benötigen, sollten Sie zu Beginn Ihres [http://www.perl.com/ Perl]-CGI-Scripts - folgenden Befehl aufnehmen, da diese Variable zur Effizienzsteigerung vom Web-Server nicht notwendigerweise automatisch gesetzt wird:</p>use noris::CGI::setRemoteHost;




{|class="wikitable" border="1px solid" align="center"
|


use noris::CGI::setRemoteHost;


-----
|}
[[{{NAMESPACE}}TI:Hinweise zur CGI-Programmierung|zurück]]

Aktuelle Version vom 27. März 2013, 15:02 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;