Wie wird ein Kontaktformular eingebunden?
Zusammenfassung
Über das Kontaktformular werden E-Mails vom Webhosting bzw. vom Webserver an Sie gesendet. Damit das Formular korrekt funktioniert, nicht missbraucht wird und die gesendeten E-Mails nicht im Spamfilter hängenbleiben, müssen einige Voraussetzungen erfüllt sein.
Erforderliche Formularfelder
Sie müssen im Kontaktformular auf unser Perl-Skript verweisen. Dies geschieht mit folgendem Tag:
<form action="/services/FormMail.pl" method="POST">
Achtung: <form action="http://www.meine_domäne/services/FormMail.pl" method="POST"> kann Probleme verursachen, wenn beim Benutzer eine persönliche Firewall aktiviert ist.
Weiter muss das Kontaktformular die Adresse des Empfängers enthalten:
<input type="hidden" name="recipient" value="ihre_emailadresse">
Auch muss dem Formmailer die Adresse des Senders übergeben werden:
<input type="text" name="email">
Damit die vom Formmailer gesendete Nachricht nicht im Spam-Filter hängenbleibt, muss der Name angefordert werden:
<input type="text" name="realname">
Wichtig
Das Kontaktformular darf nicht index.html, index.htm, index.shtml oder index.php heissen. Diese Dokumentnamen können einen Security Error hervorrufen.
Optionale Formularfelder
Feld: subject
Beschreibung: Das Betreff-Feld erlaubt Ihnen, anzugeben, welcher Betreff in der erzeugten E-Mail erscheinen soll. Wenn Sie diese Variable nicht definieren, wird das Skript automatisch eine Nachricht mit dem Betreff "WWW Form" generieren.
Syntax:
Wenn Sie ein eigenes Betrefffeld 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
Beschreibung: Dieses Feld erlaubt es dem Anwender, eine eigene return-Mailadresse anzugeben. Wenn Sie in der Lage sein wollen, dem Anwender per E-Mail zu antworten, sollten Sie dieses Feld unbedingt in Ihrem Formular aufnehmen und es durch den Anwender ausfüllen lassen (nehmen Sie das Feld 'email' in die Liste 'required' auf). Die Eingabe des Anwenders erscheint in der Nachricht, die Sie erhalten, in der From-Zeile.
Syntax:
<input type="text" name="email">
Feld: realname
Beschreibung: Das realname-Formularfeld gestattet es dem Anwender, seinen wirklichen Namen einzugeben. Dieses Feld ist zur Identifikation des Absenders gedacht und wird ebenfalls in der From-Zeile erscheinen.
Syntax:
<input type="text" name="realname">
Feld: redirect
Beschreibung: Wenn der Anwender nach Abschicken des Formulars zu einer anderen URL als zur Standardantwort des Skripts geleitet werden soll, können Sie diese mit Hilfe dieses Felds definieren.
Syntax:
Um eine URL zu wählen, zu der der Anwender automatisch geleitet wird:
<input type="hidden" name="redirect" value="http://www.ihre_domäne/file.html"> Um Ihrem Anwender zu gestatten, selbst eine URL anzugeben:
<input type="text" name="redirect">
Feld: required
Beschreibung: Ermöglicht es, bestimmte Felder zu definieren, die der Sender ausfüllen muss. Wenn das Formular abgeschickt wird, ohne dass die in diesem Feld definierten Felder ausgefüllt sind, erscheint eine Fehlermeldung.
Um eine selbsterstellte Fehlerseite auszugeben, siehe 'missing_fields_redirect'.
Syntax:
Ersetzen Sie Feld1, Feld2, Feld3 usw. durch beliebig viele im Formular vorkommende Feldnamen, die ausgefüllt werden müssen.
<input type="hidden" name="required" value="Feld1,Feld2,Feld3 usw">
Feld: env_report
Beschreibung: Ermöglicht es, Umgebungsvariablen anzugeben, deren Inhalt mit der E-Mail mitgesendet werden. Dies ist nützlich, wenn Sie wissen wollen, welchen Browser der Anwender benutzt, von welcher Seite er kommt und andere Attribute. In der Folge finden Sie eine kurze Liste mit sinnvollen Variablen:
REMOTE_HOST - Hostname des Anwenders.
REMOTE_ADDR - IP-Adresse, von der aus der Anwender auf das Netz zugreift.
HTTP_USER_AGENT - Browser des Senders.
Syntax:
Wenn Sie Hostnamen und Browser des Anwenders wissen möchten, setzen Sie folgendes ein:
<input type="hidden" name="env_report" value="REMOTE_HOST, HTTP_USER_AGENT">
Feld: sort
Beschreibung: Sortiert die Formularfelder für die E-Mail, die Sie erhalten. Sie können zwischen alphabetischer Reihenfolge und einer selbstdefinierten Reihenfolge wählen. Wenn Sie dieses Feld nicht definieren, werden die Felder in der Reihenfolge ausgegeben, in der der Browser die Daten an das Skript sendet.
Syntax:
Alphabetische Sortierung:
<input type="hidden" name="sort" value="alphabetic">
Eigene Reihenfolge der Sortierung:
<input type="hidden" name="sort" value="order:feld1,feld2,feld3 usw">
Feld: print_config
Beschreibung: print_config erlaubt Ihnen Konfigurationsvariablen in der E-Mail ausgeben zu lassen. Gewöhnlich werden diese Variablen (email, subject usw.) direkt in den Kopfteil der Nachricht geschrieben und nicht gesondert in der Nachricht selbst ausgegeben. Mit print_config können Sie dies erzwingen.
Syntax:
Wollen Sie beispielsweise die Felder 'email' und 'subject' in der Nachricht speziell ausgewiesen haben, setzen Sie
folgenden Tag:
<input type="hidden" name="print_config" value="email,subject">
Feld: print_blank_fields
Beschreibung: print_blank_fields gibt den Inhalt aller Felder aus, ungeachtet ob sie ausgefüllt wurden oder nicht.
Syntax:
Wenn Sie auch alle leeren Felder ausgegeben haben möchten:
<input type="hidden" name="print_blank_fields" value="1">
Feld: title
Beschreibung: Dieses Formularfeld ermöglicht es Ihnen einen Titel für die Ergebnisseite zu definieren, wenn Sie nicht eine spezielle Antwortseite (redirect) erstellen wollen.
Syntax:
Wollen Sie als Titel "Feedback Formularergebnisse":
<input type="hidden" name="title" value="Feedback Formularergebnisse">
Feld: return_link_url
Beschreibung: Dieses Feld erlaubt Ihnen, eine URL zu spezifizieren, die als Link auf der automatisch generierten Ergebnis-Seite erscheint und dem Anwender die Möglichkeit gibt, beispielsweise zur Homepage zurückzukehren. Dieses Feld wird nicht benötigt, wenn das Feld 'redirect' gesetzt wurde.
Syntax:
<input type="hidden" name="return_link_url" value="http://www.ihre_domäne/file.html">
Feld: return_link_title
Beschreibung: Dieses Feld spezifiziert den Text des oben besprochenen Links (return_link_url).
Syntax:
<input type="hidden" name="return_link_title" value="Zur Homepage">
Feld: missing_fields_redirect
Beschreibung: Dieses Formularfeld ermöglicht es, eine Fehlerseite anzugeben, die erscheint, falls nicht alle im required-Feld vorgegebenen Felder ausgefüllt wurden. Sie können so die automatisch vom Skript erstellte Fehlerseite durch eine eigene ersetzen.
Syntax:
<input type="hidden" name="missing_fields_redirect" value="http://www.ihre_domäne/file.html">
Feld: background
Beschreibung: Erlaubt es Ihnen ein Hintergrundbild für die Ergebnis-Seite anzugeben (nur wenn Sie das 'redirect'-Feld nicht benutzen).
Syntax:
<input type="hidden" name="background" value="http://www.ihre_domäne/bild.gif">
Feld: bgcolor
Beschreibung: Erlaubt es Ihnen eine Hintergrundfarbe für die Ergebnis-Seite anzugeben (nur wenn Sie das 'redirect'-Feld nicht benutzen).
Syntax:
Für die Hintergrundfarbe Schwarz:
<input type="hidden" name="bgcolor" value="#000000">
Feld: text_color
Beschreibung: Funktioniert wie 'bgcolor', nur dass hier die Farbe des Textes definiert wird.
Syntax:
Für die Textfarbe Rot:
<input type="hidden" name="text_color" value="#FF0000">
Feld: link_color
Beschreibung: Funktioniert wie 'bgcolor', nur dass hier die Farbe des Links definiert wird.
Syntax:
Für die Linkfarbe Rot:
<input type="hidden" name="link_color" value="#FF0000">
Feld: vlink_color
Beschreibung: Funktioniert wie 'bgcolor', nur dass hier die Farbe der bereits besuchten Links definiert wird.
Syntax:
Für die besuchte-Linkfarbe Rot:
<input type="hidden" name="vlink_color" value="#FF0000">
Feld: alink_color
Beschreibung: Funktioniert wie 'bgcolor', nur dass hier die Farbe des aktiven Links definiert wird.
Syntax:
Für die aktive-Linkfarbe Rot:
<input type="hidden" name="alink_color" value="#FF0000">
Quellcode eines Kontaktformulars
<html>
<head>
<title>Formular</title>
</head>
<body bgcolor="#ffffff">
<form action="/services/FormMail.pl" method="post">
<table border="0">
<tr>
<td>Vorname</td>
<td><input type="text" name="Vorname" size="30"></td>
</tr>
<tr>
<td>Name</td>
<td><input type="text" name="realname" size="30"></td>
</tr>
<tr>
<td>Strasse</td>
<td><input type="text" name="Strasse" size="30"></td>
</tr>
<tr>
<td>PLZ</td>
<td><input type="text" name="PLZ" size="30"></td>
</tr>
<tr>
<td>Ort</td>
<td><input type="text" name="Ort" size="30"></td>
</tr>
<tr>
<td>Land</td>
<td><input type="text" name="Land" size="30"></td>
</tr>
<tr>
<td>Telefon</td>
<td><input type="text" name="Telefon" size="30"></td>
</tr>
<tr>
<td>Fax</td>
<td><input type="text" name="Fax" size="30"></td>
</tr>
<tr>
<td>E-Mail</td>
<td><input type="text" name="email" size="30"></td>
</tr>
<tr>
<td>Bemerkungen</td>
<td><textarea name="Bemerkungen" rows="7" cols="28"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Senden">
<input type="reset" name="Reset" value="Löschen"></td>
</tr>
</table>
<input type="hidden" name="recipient" value="ihre_emailadresse">
<input type="hidden" name="subject" value="Kontaktformular">
<input type="hidden" name="required" value="realname,email">
</form>
</body>
</html>