Formularversand mit formmail.pl
Umwandlung von Formularen in Emails
Grundsätzlich können Sie auch Formulare mit der mailto:-Funktion übertragen.
Dies hat jedoch drei Nachteile: Zum einen kommt der Inhalt ziemlich
unleserlich an (Umlaute, Zeilenumbrüche usw. werden nicht korrekt
übertragen). Zum zweiten braucht der Absender eine gültige Emailadresse, um
das Formular abzuschicken, was z.B. an öffentlichen Internetterminals in der
Regel nicht der Fall ist. Und zum dritten arbeiten nicht alle Browser
korrekt mit dieser Methode.
Deshalb ist es immer günstiger, ein Formular mit Hilfe eines CGI-Scriptes in
ein Em-Mail umzuwandeln und sich den Inhalt auf diese Weise sicher und
leserlich zustellen zu lassen. Hier finden Sie eine
Schritt-für-Schritt-Anleitung, wie Sie dies machen können. Wir verwenden
dazu das Script FormMail.pl von Matt Wright.
Sie können die Datei formmail.pl bei uns bestellen; wir installieren die
Datei kostenlos für Sie in Ihrem Verzeichnis. Senden Sie uns einfach ein
Mail an
. Oder
verwenden Sie das formmail-clone, dass Sie im Usertool unter Scripte finden.
Um das Script aufzurufen, müssen Sie lediglich einige versteckte Felder in
Ihr Formular einfügen, die der Formatierung der abzusendenden Email dienen.
Modifizierung der Formulare
Um FormMail verwenden zu können, müssen Sie in Ihren Formularen einige
zusätzliche Angaben machen:
Natürlich muss Ihr Formular auf das Skript verweisen, damit es beim Drücken
der "Absenden"-Taste vom Server aufgerufen wird und als Methode muss POST
oder GET in Grossbuchstaben angegeben werden. Dies können Sie unabhängig von
Ihrem Domainnamen immer mit folgendem Befehl machen:
<form action="/cgi-bin/formmail.pl" method=POST>
Danach folgen Formularfelder, die Sie entweder als
versteckt (type=hidden) definieren können, so dass sie der Anwender nicht
sehen kann, oder durch den Anwender ausfüllen lassen können. Diese enthalten
wichtige Informationen zur Formatierung Ihrer Email, z.B. die Zieladresse
des Formularinhalts. Die Felder können irgendwo im Formular zwischen obiger
Zeile und dem Formularabschluss </FORM> stehen.
Beschreibung der einzelnen Felder
Feld: recipient (Empfänger)
Dies ist das einzige wirklich unbedingt notwendige Formularfeld, damit das
Skript einwandfrei arbeitet. Es gibt an, an wen der Formularinhalt gesendet
werden soll. Höchstwahrscheinlich werden Sie dieses Feld als versteckt
definieren, damit es der Anwender nicht manipuliert, und als Feldinhalt Ihre
eigene Email-Adresse oder - als HTML-Programmierer - die Email-Adresse Ihres
Kunden angeben. Syntax:
<input type=hidden name="recipient" value="
">
Feld: subject (Betreff)
Das subject-feld erlaubt Ihnen, anzugeben, welcher Betreff in der E-mail
erscheinen soll, die erzeugt wird. Wenn Sie diese Variable nicht definieren,
wird das Skript automatisch eine Nachricht mit dem Betreff "WWW Form
Submission" erzeugen. Syntax:
-
Wenn Sie ein eigenes Betreff-feld definieren möchten:
<input type=hidden name="subject" value="Ihr_Betreff">
-
Wenn Sie dem Anwender erlauben möchten, ein eigenes Betreff-Feld anzugeben:
<input type=text name="subject">
Feld: email
Dieses Feld erlaubt es dem Anwender, eine eigene return-Mailadresse
anzugeben. Wenn Sie in der Lage sein wollen, dem Anwender per Email zu
antworten, sollten Sie dieses Feld unbedingt in Ihrem Formular aufnehmen und
es durch den Anwender ausfüllen lassen. Diese Eingabe des Anwenders
erscheint dann im From:-Feld der Nachricht, die Sie erhalten. Syntax:
<input type=text name="email">
Feld: realname (Name)
Das realname-Formularfeld gestattet es dem Anwender, seinen wirklichen
Namen einzugeben. Dieses Feld ist zur Identifikation des Absenders nützlich
und wird ebenfalls in der From:-Zeile erscheinen, wie Sie es von
Mailprogrammen her gewohnt sind, in denen neben der Mailadresse auch der
komplette Name des Nutzers ausgegeben wird. Syntax: <input type=text name="realname">
Feld: redirect
Wenn der Anwender nach Abschicken des Formulars zu einer anderen URL als
zur englischsprachigen Standardantwort des Skripts geleitet werden soll,
können Sie diese mit Hilfe dieses Felds definieren. Syntax: <input type=hidden
name="redirect" value="http://Ihre_Domain.com/Ihr_File.html">
Feld: sort
Sortiert die Formularfelder in der Email, die Sie erhalten, in der von
Ihnen vorgegebenen Reihenfolge. Wenn Sie dieses Feld nicht definieren,
werden die Felder in der Reihenfolge sortiert, in der der Server die Daten
über das Internet erhält. Dies ist in der Regel nicht die Reihenfolge, in
der Sie die Felder angelegt haben, sondern meist völlig durcheinander.
Syntax: <input type=hidden name="sort" value="order:feld1,feld2,feld3">
Hinweis: Ersetzen Sie feld1,feld2,feld3 durch beliebig viele im Formular
vorkommende Feldnamen, die in einer bestimmten Reihenfolge ausgegeben werden
sollen.
Feld: required
Ermöglicht es, bestimmte Felder zu definieren, die der Nutzer auf jeden Fall
ausfüllen muss. Wenn das Formular abgeschickt wird, ohne dass die in diesem
Feld definierten Felder ausgefüllt sind, erscheint eine Fehlermeldung.
Syntax: <input type=hidden name="required" value="feld1,feld2,feld3">
Hinweis: Ersetzen Sie feld1,feld2,feld3 durch beliebig viele im Formular
vorkommende Feldnamen, die unbedingt ausgefüllt werden sollen.
Feld: missing_fields_redirect
Ermöglicht es, die Seite zu definieren, die erscheint, wenn die im
required-Feld definierten Felder nicht ausgefüllt sind. Achtung: Diese
Funktion steht erst ab Version 1.6 zur Verfügung. Bitte überprüfen Sie,
welche FormMail-Version in Ihrem Verzeichnis installiert ist. Syntax: <input
type=hidden name="missing_fields_redirect"
value="http://your.host.com/error.html">
Hinweis: Ersetzen Sie "http://your.host.com/error.html" durch die URL der
Seite, die als Fehlermeldung erscheinen soll. Dies war die Beschreibung der
wichtigsten Formularfelder zur Formatierung der Email. Es gibt weitere,
weniger wichtige Formularfelder, die in englischer Sprache in der
Originalbibliothek
MSA