Wie richte ich ein Kontaktformular (Feedback-Formular) ein ?

Sie können sich den Inhalt von HTML-Formularen per E-Mail zusenden lassen. Sie können dazu eine Vorlage der E-Mail auf den Server legen. Diese Vorlage enthält spezielle Platzhalter, die mit den entsprechenden Werten der Eingaben ersetzt weren. Gehen Sie zum Erstellen von solchen Feedback-Formularen wie folgt vor:

Schritt 1: Erstellen der HTML-Seite:

  • In Ihrer HTML-Seite muß das Formular durch die Tags
    <form action=
    "http://cgi.domainserver.de/cgi-bin/formmail.cgi" method="POST">

    <input type="hidden" name="config-url" value="http://www.IhreDomain.de/vorlage.txt">
    und
    </form>
    "eingerahmt" werden.
  • Vergessen Sie den action-Parameter, so erhalten Sie eine Fehlermeldung wie
    " Method not implemented
    POST to /falsch.html not supported. "

  • Innerhalb des Formulars müssen Sie noch ein "verstecktes" Feld mit dem Namen config-url angeben, das die Adresse einer Textvorlage für die zu versendende Mail festlegt. Der value Eintrag muß dabei die Tatsächliche URL einer Datei auf dem Server enthalten (wenn Sie die URL im Browser eingeben, muß die Text-Datei zu sehen sein ! ).

Anstelle des "versteckten" Feldes config-url können Sie auch diesen Parameter an die URL des CGI-Scriptes anhängen:

<form action=
"http://cgi.domainserver.de/cgi-bin/
formmail.cgi/http://www.IhreDomain.de/vorlage.txt" method="POST">

...
</form>

Der action-Parameter muss in eine Zeile geschrieben werden. Aus Patzgründen wurden im o.g. Beispiel zwei Zeilen verwendet. Hier noch einmal die komplette URL:
http://cgi.domainserver.de/cgi-bin/formmail.cgi/http://www.IhreDomain.de/vorlage.txt

Der Parameter http://www.IhreDomain.de/vorlage.txt muss entsprechend Ihrer tatsächlichen Adresse angepasst werden, z.B.
http://www.maier-online.de/mail/mailvorlage1.txt

Inhalt dieser Datei wird im folgenden Abschnitt beschrieben.

Schritt 2: Erstellen der Mail-Vorlage:

  • Die Mail-Vorlage muß eine reine Text-Datei (ASCII-Datei) sein.
  • Die Mail-Vorlage besteht aus zwei Bereichen:
    • Der Header-Bereich. Dort werden einige Angaben gemacht, wie z.B. die E-Mail-Adresse an die die Mail geschickt werden soll.
    • Der Body-Bereich. Dort steht die eigentliche Vorlage für die Mail.
  • Der Header wird vom Body durch eine Zeile mit zwei Bindestrichen (--) getrennt. Das ganze kann dann z.B. so aussehen:

    escape:##
    escape-end:##
    to-mail: info@IhreDomain.de
    Subject : Kontaktseite Internet
    --
    Diese Mail ist das Ergebnis einer Kontaktseite.
    Es wurden folgende Angaben uebermittelt:

    Name . . . . . . : ##Name##
    Straße . . . . . : ##Strasse##
    Ort. . . . . . . : ##Ort##
    Telefon Nr.. . . : ##Telefon##
    E-Mail-Adresse . : ##E-Mail##

    Nachricht
    =========
    ##Nachricht##

    Der Header-Bereich besteht hier aus den vier Zeilen:

    escape:##
    escape-end:##
    to-mail: info@IhreDomain.de
    Subject: Kontaktseite Internet

    Die ersten beiden Zeilen sollten Sie einfach übernehmen. Die dritte Zeile enthält die E-Mail-Adresse, an die die Mail dann geschickt wird, die vierte Zeile enthält den Betreff der Mail.

  • Der Body enthält den Text der Mail mit den Platzhaltern (z.B. ##Ort##)

    Diese Mail ist das Ergebnis einer Kontaktseite.
    Es wurden folgende Angaben uebermittelt:

    Name . . . . . . : ##Name##
    Straße . . . . . : ##Strasse##
    Ort. . . . . . . : ##Ort##
    Telefon Nr.. . . : ##Telefon##
    E-Mail-Adresse . : ##E-Mail##

    Nachricht
    =========
    ##Nachricht##

    Damit Platzhalter von dem Rest der Mail erkannt werden, muß eine sog. Ecape-Sequenz verwendet werden (in diesem Beispiel ist das ##).
  • Wichtig: Die namen der Formularfelder müssen dem Platzhalter entsprechen (ohne ##). Z.B.
    <input type="text" name="Ort">
    In der Mail-Vorlage muß dann als Platzhalter ##Ort## stehen.
  • Bitte beachten Sie beim Vergeben der Namen für die Formularfelder:
    1. Achten Sie auf Groß-/Kleinschreibung (Formularfeld-Name muß mit dem Platzhalter übereinstimmen)
    2. Vermeiden Sie Umlaute (verwenden Sie Strasse anstelle von Straße)
    3. Vermeiden Sie Leerzeichen
    4. Vergeben Sie keine doppelten Namen

Eine einfache Beispielseite können Sie sich unter feedback2-beispiel.html anschauen, den Quelltext sehen Sie mit der View Source-Option Ihres Browsers. Die passende Mail-Vorlage finden Sie unter feedback2-vorlage.txt . Ein weiteres Beispiel für eine Mail-Vorlage finden Sie unter feedback2-vorlage2.txt.

Weitere Möglichkeiten:

Es stehen Ihnen neben den eingaben der Formularfelder noch zusätzliche Platzhalter für System-Variablen zur Verfügung:

  • ##system-time## zeigt die Uhrzeit an, wann das Formular abgeschickt wurde (z.B. 15:53 (MET)).
  • ##system-date## zeigt das Datum an, wann das Formular abgeschickt wurde (z.B. 11.4.1999)
  • ##system-userinfo## zeigt IP-Adresse, Rechnername, Proxy- und Browser-Informationen des Absenders an.
  • ##system-rest## zeigt an, welche Formular-Felder in der Mail-Vorlage vergessen wurden (empfiehlt sich beim testen von neuen Formularen)
  • ##system-time-id## zeigt die Server-Zeit als Zahl an.
  • ##system-pid## zeigt die aktuelle Prozess-ID an. Zusammen mit ##system-time-id## kann eine eindeutige ID generiert werden (z.B. Bestellnummer etc.)

Neben den vier oben beschriebenen Header-Variablen können Sie noch weitere Konfigurationen vornehmen. Hier eine vollständige Liste:

  • subject
    Hier können Sie den Betreff der Mail angeben. In diesem Feld können Sie auch Platzhalter verwenden (geht nicht bei allen Header-Variablen) z.B.
    Subject: Kontaktseite von ##Name# vom ##system-date##
  • to-mail
    Hier geben Sie Ihre E-Mail-Adresse an (an diese Adresse wird die Mail geschickt)
  • from-mail
    Falls Sie in Ihrem Formular ein Eingabefeld für eine E-Mail-Adresse des haben, so haben Sie mit dieser Variable die Möglichkeit, daß diese E-Mail-Adresse als Absender der E-Mail verwendet wird. Dazu müssen Sie den Namen des Formularfeldes ohne Escape-Sequenz angeben (ohne ##). Beispiel: Sie haben ein Eingabefeld mit dem Namen E-Mail
    <input type="text" name="E-Mail">
    dann mus der Headereintrag wie folgt lauten:
    from-mail: E-Mail
  • from-name
    Ähnlich wie die E-Mail-Adresse des Absenders, kann man auch den Namen des Absenders angeben:
    from-name: Name
    Wobei Name der Name des Formularfeldes fü den Namen ist:
    <input type="text" name="Name">
  • ok-url
    Falls Sie wollen, daß nach dem Absenden des Formulares eine spezielle "Danke-Seite" angezeigt wird ("Vielen Dank. Wir haben Ihre Daten erhalten ...), dann können Sie mit dieser Variable eine URL dieser Seite angeben (Achtung! Muß mit http:// beginnen) z.B.:
    ok-url: http://www.IhreDomain.de/danke.htm
  • require
    Hier können Sie die Namen der Formularfelder eingeben, die unbedingt ausgefüllt weden müssen, z.B.
    require: E-Mail, Name, Telefon
  • error-url:
    Ähnlich wie bei ok-url können Sie hier die URL einer Seite angeben. Diese Seite wird angezeigt, wenn nicht alle erforderlichen Felder (siehe require) ausgefüllt wurden.
  • ignore
    Hier kann man Formularfelder angeben, die ignoriert werden, z.B.
    ignore: Button1, Button2, Button3
  • escape:
    Hier können Sie die Startsequenz für die Platzhalter definieren, empfohlen:
    escape: ##
    (Es sind beliebige Kombinationen folgender Zeichen Möglich: §#-&@ )
  • escape-end:
    Hier können Sie die Endsequenz für die Platzhalter definieren, empfohlen:
    escape-end: ##
    (Es sind beliebige Kombinationen folgender Zeichen Möglich: §#-&@ )
  • to-cc
    Hier können Sie noch eine E-Mail-Adresse angeben, an die eine Kopie der Mail geht. Mehrere Empfänger können dorch Komma getrennt werden:
    to-cc: ich@doamin.de, du@domain.de
  • x-header
    Hier können Sie zusötzliche Mail-Header erzeugen. Ähnlich wie bei subject können auch hier Platzhalter verwendet werden. Beispiele:

    x-header: X-Sender-Script: formmail.cgi
    erzeugt den Mail-Header:
    X-Sender-Script: formmail.cgi

    X-Postleitzahl: ##PLZ##
    erzeugt den Mail-Header:
    X-Postleitzahl: 76776
    fall im Formular die PLZ mit 76776 ausgefüllt wurde.
  • ok-url-cond
    Hier können Sie eine spezielle Danke-Seite angeben die nur dann angezeigt wird, wenn eine bestimme Bedingung erfüllt ist. z.B.
    ok-url-cond: Bezahl=Vorauskasse, http://domain.de/Konto.htm
    Falls das Formularfeld "Bezahl" den Wert "Vorauskasse" hat, wird anstelle der normalen ok-url eine spezielle Seite angezeigt (in diesem Beispiel eine Seite mit den Kontodaten für die Überweisung).
    ok-url-cond: Bezahl=^Voraus, http://domain.de/Konto.htm
    Hier wird nur geprüft, ob der Wert mit "Voraus" beginnt (passt also auf Vorauskasse und Vorauszahlung).

PGP-Verschluesselung (Version 2.6.3i) (gilt nur im SSL-Verzeichnis)

  • pgp: on
    Aktiviert die PGP-Verschlüsselung
  • pgp-id
    Gibt Ihre PGP-ID an, z.B.:
    pgp-id: Hans Mayer
  • pgp-pubring
    Gibt den Pfad vom PGP-Verzeichnis an, z.B.
    pgp-pubring: kunde.de/pgp
  • x-header
    Hier können Sie zusätzliche Mail-Header erzeugen. Ähnlich wie bei subject

Bei weiteren Fragen wenden Sie sich bitte an support@www-pool.de