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
support@biztec.ch. 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="Ihr_Name@Ihre_Domain.com">
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
beschrieben sind. Demnächst werden
Sie auch diese hier beschrieben
finden.