Hostpoint - Hilfe & Support > Hilfe & Support > Produkte > Webhosting > Anleitung zum Formmailer

Anleitung zum Formmailer

Table of contents
  1. Was ist ein Formmailer?
  2. Wie fange ich an?
  3. Grundlegende Parameter für den Formmailer
    1. Parameter in der Webseite oder in einer Datei
    2. An welche E-Mail-Adressen möchte ich mein Formular senden?
      1. Empfänger-E-Mail-Adresse (To)
      2. Kopie-E-Mail-Adresse (Cc)
      3. Blindkopie-E-Mail-Adresse (Bcc)
    3. Weitere wichtige Maileinstellungen
      1. Bestätigungsmail
      2. Betreff
      3. Name des Ausfüllers
      4. E-Mail des Ausfüllers
        1. E-Mail-Adresse des Ausfüllers als Absenderv setzen
        2. E-Mail-Adresse des Ausfüllers als Text mitliefern, eigenen Adresse als Absender setzten
      5. Charset
    4. Felder im E-Mail sortieren
      1. Alphabetisch sortieren
      2. Individuell sortieren
    5. Erfolgs- und Fehlerseite
      1. Erfolgsseite
      2. Fehlerseite
  4. Erweiterte Parameter für den Formmailer
    1. Der Besucher kann Ihnen eine Datei an das Formular anhängen
    2. Informationen über IP-Adresse oder Browser
      1. Umgebungsvariablen
    3. Was soll im Mail dargestellt werden?
      1. Felder ausblenden
    4. Überprüfung der Formulareingaben
      1. Zwingend erforderliches Feld
      2. Überprüfung mit regulärem Ausdruck
    5. Protokollieren
      1. Logfile
  5. Templates
    1. Templates erstellen
      1. Beispiel
    2. Templates benutzen
      1. Template für das Mail, das Sie erhalten
  6. Gestaltung der Erfolgs- und der Fehlerseite
    1. Hintergrund
      1. Hintergrundbild für Erfolgs- und Fehlerseite
      2. Hintergrundfarbe für Erfolgs- und Fehlerseite
      3. Hintergrundbild für Erfolgsseite
      4. Hintergrundfarbe für Erfolgsseite
      5. Hintergrundbild für Fehlerseite
      6. Hintergrundfarbe für Fehlerseite
    2. Titel
      1. Titel für Erfolgsseite
      2. Titel für Fehlerseite
    3. Spezielles für Fehlerseite
      1. Farbe von `[feld]`
      2. Hintergrundfarbe für Fehlerseite
  7. Beispiele
    1. Formular für eine Partyanmeldung
    2. Formular mit Überprüfung

In diesem Tutorial lernen Sie Formulare mit dem Formmailer zu erstellen. Sie können damit auf einfache Weise, illustriert mit einigen Beispielen, ein sicheres Kontaktformular oder ein Feedbackformular einrichten. Im zweiten Teil lernen Sie die erweiterten Funktionen kennen. Damit ist es Ihnen möglich, auch komplexere Formulare mit Fehlerbehandlung zu erstellen.

Was ist ein Formmailer?

Stellen Sie sich vor, Sie organisieren eine Veranstaltung und wollen, dass sich die Gäste per Internet anmelden können. Nun wäre es gut, man könnte genau bestimmen, was die Gäste einem alles übermitteln müssen, z.B. den Namen, die Anzahl Personen und ob sie etwas mitbringen. Mit dem Formmailer können Sie solche Formulare ganz einfach erstellen, ohne Programmierkenntnisse zu besitzen. Die nächsten Seiten zeigen Ihnen, wie das geht.

Wie fange ich an?

Zuerst sollten Sie sich überlegen, welche Informationen Sie über das Formular übermitteln wollen.
Erstellen Sie zunächst ein einfaches Formular. Achten Sie darauf, dass die "form action" auf /cgi-sys/FormMail.cgi zeigt.

<form action="/cgi-sys/FormMail.cgi" method="post">
<table>
    <tr>
        <td>Ihre E-Mail-Adresse:</td>
        <td><input type="text" name="email" /></td>
    </tr>
    <tr>
        <td>Ihr Name:</td>
        <td><input type="text" name="realname" /></td>
    </tr>
    <tr>
        <td>Ihr Kommentar:</td>
        <td><textarea cols="20" rows="5" name="kommentar" ></textarea></td>
    </tr>
    <tr>
        <td><input type="submit" name="submit" value="Formular abschicken" /></td>
    </tr>
</table>
<div>
        <input type="hidden" name="recipient" value="info@ihre-eigene-domain.ch" />
        <input type="hidden" name="subject" value="Kontaktforumlar" />
</div>
</form>

Dieses Formular sieht folgendermassen aus:

Formular

Das Mail, das Sie bekommen, könnte so aussehen:

 

FROM: Hans Muster <hans@muster.ch>
TO: Info <info@ihre-eigene-domain.ch>
SUBJECT: Formular abschicken

recipient: info@ihre-domain.ch
kommentar: Bitte senden Sie mir weitere Informationen über Ihre Angebote

Grundlegende Parameter für den Formmailer

Parameter in der Webseite oder in einer Datei

Sie können die Parameter entweder mit den Hidden Feldern machen, also in den Feldern im Formular, die man nicht sieht, oder Sie können eine Konfigurationsdatei machen. Dies ist nützlich, wenn Sie z.B. Ihre E-Mail-Adresse nicht im Formular anzeigen wollen.
Erstellen Sie dafür in Ihrem FTP-Verzeichnis einen Ordner "formmail" und dort drin einen Ordner "conf". Diese beiden Ordner müssen Sie genau so benennen. Erstellen Sie darin nun z.B. eine Datei "mein_formular". Es sollte in Ihrem FTP-Programm dann etwa so aussehen:

Parameter

Diese Datei können Sie dann mit folgender Option in Ihr Formular einbinden:

<input type="hidden" name="conf" value="mein_formular"/>

Die Datei ist zeilenorientiert und hat folgendes Format:
feldname]:[wert]
Im Wert dürfen alle Zeichenvorkommen, also auch Leerschläge und Tabulatoren.

Diese Datei könnte folgenden Inhalt haben:

recipient:formular@ihre-eigene-domain.ch
subject:Mein Betreff
confirmation:0
sort:alphabetic

An welche E-Mail-Adressen möchte ich mein Formular senden?

Sie können die Formulare nur an E-Mail-Adressen von Domains senden, die auch von Ihrem Hostpoint-Account sind. Sie können sie direkt an eine E-Mail-Adresse und zusätzlich noch als Kopie oder Blindkopie an eine andere E-Mail-Adresse senden. Auch diese Adressen müssen zu Ihrem Account gehören.

Empfänger-E-Mail-Adresse (To)

Konfiguration im Formularcode:
<input type="hidden" name="recipient" value="formular@ihre-eigene-domain.ch"/>
Konfiguration in Config-Datei:
recipient:formular@ihre-eigene-domain.ch

Kopie-E-Mail-Adresse (Cc)

Konfiguration im Formularcode:
<input type="hidden" name="cc_mail" value="cc@ihre-eigene-domain.ch"/>
Konfiguration in Config-Datei:
cc_mail:cc@ihre-eigene-domain.ch

Blindkopie-E-Mail-Adresse (Bcc)

Konfiguration im Formularcode:
<input type="hidden" name="bcc_mail" value="bcc@ihre-eigene-domain.ch"/>

Konfiguration in Config-Datei:

bcc_mail:bcc@ihre-eigene-domain.ch

Es lassen sich mehrere E-Mail-Adressen mit Komma getrennt einfügen.

Weitere wichtige Maileinstellungen

Bestätigungsmail

Diese Funktion musste wegen Missbrauch durch Spammer leider entfernt werden.

Betreff

Den Betreff können Sie entweder vordefinieren oder dem Ausfüller überlassen. Falls Sie ihn dem Ausfüller überlassen wollen, machen Sie das Feld sichtbar, ansonsten nicht.

Konfiguration im Formularcode:
<input type="text" name="subject"/>
Betreff selber bestimmen:
<input type="hidden" name="subject" value="Mein Betreff"/>
Konfiguration in Config-Datei:
subject:Mein Betreff

Name des Ausfüllers

Der Name des Ausfüllers muss in das Feld "realname" eingefüllt werden, dann wird er im Kopf des E-Mails angezeigt.

Konfiguration im Formularcode:
<input type="text" name="realname" />

E-Mail des Ausfüllers

E-Mail-Adresse des Ausfüllers als Absenderv setzen
Das E-Mail des Ausfüllers muss in das Feld "email" eingefüllt werden, dann wird es im Kopf des E-Mails angezeigt.
Konfiguration im Formularcode:
<input type="text" name="email" />
E-Mail-Adresse des Ausfüllers als Text mitliefern, eigenen Adresse als Absender setzten

Die erste Variante setzt die E-Mail-Adresse des Ausfüllers als Absender der E-Mail. Dies kann z.Bsp. bei Tippfehlern in der E-Mail-Adressen bereits Schwierigkeiten auslösen. Auch Technologien wie SPF können ein Grund sein, weshalb der Formular Inhaber die E-Mail nicht erhält.

Wir empfehlen deshalb folgende Konfiguration:

Konfiguration im Formularcode:
<input type="text" name="email_text" />
Konfiguration in Config-Datei:
email:ihrabsender@ihre-eigene-domain.ch

Setzten Sie den Wert "email" fix mit einer auf Ihrem Hosting bestehende E-Mail-Adresse. So garantieren Sie dass Sie die E-Mail immer erreicht. Die E-Mai Adresse des Ausfüllers finden Sie dann in Klartext als Inhalt mitgesendet.

Charset

Das Standard Charset des Formmailer ist iso-8859-1. Falls Ihre Seite in einem anderen Charset geschrieben ist, müssen Sie dies im Formmailer konfigurieren, damit die Daten im Mail richtig dargestellt werden. Hierfür verwenden Sie bitte das Feld "charset":

<input type="hidden" name="charset" value="utf-8" />

Felder im E-Mail sortieren

Sie können die Formularfelder entweder alphabetisch oder nach einer von Ihnen bestimmten Reihenfolge sortieren. Wenn Sie die Felder nicht sortieren, werden sie zufällig dargestellt und nicht so, wie Sie sie auf Ihrer Homepage aufgelistet haben. Die E-Mails nach der Reihenfolge auf der Homepage zu sortieren, ist also nur möglich, wenn Sie diese im Feld "sort" sortieren.

Alphabetisch sortieren

Konfiguration im Formularcode:
<input type="hidden" name="sort" value="alphabetic"/>
Konfiguration in Config-Datei:
sort:alphabetic

Individuell sortieren

Hier wird im Mail zuerst die Bestellung und dann der Name stehen. Falls es noch weitere Felder gibt, werden diese unten angehängt.

Konfiguration im Formularcode:
<input type="hidden" name="sort" value="Bestellung,Name"/>
Konfiguration in Config-Datei:
sort:Bestellung,Name

Erfolgs- und Fehlerseite

Sie können für das erfolgreiche Absenden und für das fehlerhafte Absenden eines Formulars eine eigene Webseite erstellen und automatisch darstellen lassen.

Bei der Fehlerseite bekommen Sie die fehlerhaften Felder als GET-Parameter und können diese mit einer Programmiersprache auslesen.

Erfolgsseite

Konfiguration im Formularcode:
<input type="hidden" name="redirect" value="http://www.ihre-eigene-domain.ch/erfolg.html"/>
Konfiguration in Config-Datei:
redirect:http://www.ihre-eigene-domain.ch/erfolg.html

Fehlerseite

Konfiguration im Formularcode:
<input type="hidden" name="missing_fields_redirect" value="http://www.ihre-eigene-domain.ch/fehler.html"/>
Konfiguration in Config-Datei:
missing_fields_redirect:http://www.ihre-eigene-domain.ch/fehler.html

Erweiterte Parameter für den Formmailer

Sie können Ihr Formular natürlich noch weiter konfigurieren.

Der Besucher kann Ihnen eine Datei an das Formular anhängen

Der Besucher kann Ihnen Dateien senden. Dafür müssen Sie das Formular zuerst dateitauglich machen. Fügen Sie die Option enctype="multipart/form-data" hinzu:

<form action="/cgi-sys/FormMail.cgi" method="post" enctype="multipart/form-data">

Jedes Feld, mit dem man eine Datei anhängen kann, muss mit file_ beginnen und den Type File haben.

<input type="file" name="file_anhang" />

Informationen über IP-Adresse oder Browser

Sie können sogenannte Umgebungsvariablen, also Informationen über die Umgebung des Besuchers, mitliefern lassen. Möglich sind die IP-Adresse, der Name des verwendeten Browsers und der im Internet verwendete Name für den Computer des Besuchers.

Umgebungsvariablen

REMOTE_HOST
Liefert den im Internet verwendeten Namen für den Computer des Besuchers
REMOTE_ADDR
Liefert die IP-Adresse des Besuchers
HTTP_USER_AGENT
Liefert den Namen des Browsers und des Betriebssystems des Besuchers
Konfiguration im Formularcode:
<input type="hidden" name="env_report" value="REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT" />
Konfiguration in Config-Datei:
env_report:REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT

Was soll im Mail dargestellt werden?

Standardmässig werden sämtliche Felder des E-Mails übermittelt. Sie können aber die Felder ausblenden.

Felder ausblenden

Hier werden die Felder "redirect", "sort", "missing_field_redirect" und "bcc_mail" nicht im Mail angezeigt:

Konfiguration im Formularcode:
<input type="hidden" name="print_config" value="redirect,sort,missing_field_redirect,bcc_mail" />
Konfiguration in Config-Datei:
print_config:redirect,sort,missing_field_redirect,bcc_mail

Überprüfung der Formulareingaben

Sie können die Variablen einfach auf deren Existenz prüfen oder mit einem überprüfen lassen.

Zwingend erforderliches Feld

Diese Einstellung können Sie z.B. bei einem Formular machen, bei dem eine Adresse ausgefüllt werden muss.
Konfiguration im Formularcode:

<input type="hidden" name="required" value="name,vorname,strasse,hausnummer,plz,ort" />
Konfiguration in Config-Datei:
required:name,vorname,strasse,hausnummer,plz,ort

Überprüfung mit regulärem Ausdruck

Sie können einen regulären Ausdruck mit `[feld]_regex` hinzufügen. Achtung: Sie müssen für diese Option unbedingt das Wissen über mitbringen!

Konfiguration im Formularcode:
<input type="hidden" name="plz_regex" value="^\d+$" />
Konfiguration in Config-Datei:
plz_regex:^\d+$

Protokollieren

Sie können die Nachrichten, die Ihnen übermittelt werden, zusätzlich in eine Datei speichern. Das Log wird im Ordner formmail/log im gleichen Verzeichnis abgelegt, in dem auch das "public_html" oder "www" ist. Mit dem Parameter logfile können Sie das Logfile bestimmen.
logfile.jpg
 

Folgendermassen definieren Sie dann die Datei als Logdatei:

Logfile

Konfiguration im Formularcode:
<input type="hidden" name="logfile" value="mails.txt" />
Konfiguration in Config-Datei:
logfile:mails.txt

Templates

Sie können das Aussehen des Mails, das Sie bekommen individuell anpassen.

Templates erstellen

Sie können genau bestimmen, wie das Mail aussieht, das Sie bekommen, aussehen soll.

Dafür müssen Sie im Ordner formmail/templates im obersten FTP-Verzeichnis eine Datei mit einem beliebigen Namen erstellen. Nennen wir das Template "anmeldung.txt".
templates.jpg
 

In diese Datei schreiben Sie dann, wie das Mail aussehen soll. Dabei werden Namen in eckigen Klammern durch das jeweilige Feld ersetzt.

Beispiel

So könnte der Inhalt der Datei anmeldung.txt aussehen:

Name: [name]
Vorname: [vorname]
Strasse: [strasse] [hausnummer]
PLZ/Ort: [PLZ] [ort]

Bemerkung:
[kommentar]

Ein gesendetes Mail mit den Daten des Kunden könnte somit so aussehen:

Name: Muster
Vorname: Hans
Strasse: Ratsplatz 12
PLZ/Ort: 7648 Untereffingen

Bemerkung:
Bitte senden Sie mir nähere Informationen über Ihre Angebote.

Templates benutzen

Sie können nun jedes Template für ein Mail an Sie verwenden.

Template für das Mail, das Sie erhalten

Konfiguration im Formularcode:
<input type="hidden" name="mail_template" value="anmeldung.txt" />
Konfiguration in Config-Datei:
mail_template:anmeldung.txt

Gestaltung der Erfolgs- und der Fehlerseite

Sie können die Erfolgs- und die Fehlerseite auch ohne eigene HTML-Seite etwas umgestalten. Diese Optionen sind nur relevant, wenn Sie keine eigene Erfolgs- oder Fehlerseite erstellen.

Hintergrund

Hintergrundbild für Erfolgs- und Fehlerseite

Konfiguration im Formularcode:
<input type="hidden" name="background" name="http://ihre-eigene-domain.ch/hintergrund.png" />
Konfiguration in Config-Datei:
background:http://ihre-domain.ch/hintergrund.png

Hintergrundfarbe für Erfolgs- und Fehlerseite

Konfiguration im Formularcode:
<input type="hidden" name="bgcolor" name="gray" />
Konfiguration in Config-Datei:
bgcolor:gray

Hintergrundbild für Erfolgsseite

Konfiguration im Formularcode:
<input type="hidden" name="success_background" name="http://ihre-eigene-domain.ch/hintergrund.png" />
Konfiguration in Config-Datei:
success_background:http://ihre-eigene-domain.ch/hintergrund.png

Hintergrundfarbe für Erfolgsseite

Konfiguration im Formularcode:
<input type="hidden" name="success_bgcolor" name="gray" />
Konfiguration in Config-Datei:
success_bgcolor:gray

Hintergrundbild für Fehlerseite

Konfiguration im Formularcode:
<input type="hidden" name="error_background" name="http://ihre-eigene-domain.ch/hintergrund.png" />
Konfiguration in Config-Datei:
error_background:http://ihre-eigene-domain.ch/hintergrund.png

Hintergrundfarbe für Fehlerseite

Konfiguration im Formularcode:
<input type="hidden" name="error_bgcolor" name="gray" />
Konfiguration in Config-Datei:
error_bgcolor:gray

Titel

Der Titel für die Erfolgs- und der Fehlerseite kann folgendermassen bestimmt werden:

Titel für Erfolgsseite

Konfiguration im Formularcode:
<input type="hidden" name="success_title" name="Mail erfolgreich gesendet" />
Konfiguration in Config-Datei:
success_title:Mail erfolgreich gesendet

Titel für Fehlerseite

Konfiguration im Formularcode:
<input type="hidden" name="error_title" name="Falsche Felder" />
Konfiguration in Config-Datei:
error_title:Falsche Felder

Spezielles für Fehlerseite

Wenn Sie die Fehlerseite vom Formmailer generieren lassen, werden die Felder folgendermassen dargestellt:

[feld]:
[wert]

Also z.B.:

email:
test@ihre-domain..ch

Die Farbe von "`[feld]`" können Sie mit dem Parameter error_key_color, und die von "`[wert]`" mit error_value_color ändern:

Farbe von `[feld]`

Konfiguration im Formularcode:
<input type="hidden" name="error_key_color" name="blue" />
Konfiguration in Config-Datei:
error_key_color:blue

Hintergrundfarbe für Fehlerseite

Konfiguration im Formularcode:
<input type="hidden" name="error_value_color" name="red" />
Konfiguration in Config-Datei:
error_value_color:red

Beispiele

Wie ein Formular aussehen könnte.

Formular für eine Partyanmeldung

formparty.png
 

Der Code dazu sieht so aus:
<form action="/cgi-sys/FormMail.cgi" method="post">
<table>
<tr>
<td>Ihr Name:</td>
<td><input type="text" name="realname" /></td>
</tr>
<tr>
<td>Transport (f&uuml;r die Parkplatzorganisation):</td>
<td>
<input type="radio" name="transport" value="OEV" />
&Ouml;V
<input type="radio" name="transport" value="Auto" />
Auto
</td>
</tr>
<tr>
<td>Anzahl Personen:</td>
<td><input type="text" name="personen" size="2"/></td>
</tr>
<tr>
<td valign="top">Wir bringen folgendes mit:</td>
<td><textarea name="mitbringen" rows="5" cols="22"></textarea>
</td>
</tr>
<tr>
<td><input type="submit" name="submit" value="anmelden" /></td>
</tr>
</table>
<div>
<input type="hidden" name="print_config" value="subject,recipient,submit" />
<input type="hidden" name="recipient" value="info@ihre-eigene-domain.ch" />
<input type="hidden" name="subject" value="Anmeldung fuers Fest" />
</div>
</form>

Das Mail, das Sie bekommen, könnte dann so aussehen:

mitbringen: Rüblikuchen
personen: 5
realname: Hans Muster
transport: Auto

Formular mit Überprüfung

Sie wollen ein Formular für eine Kursanmeldung machen und die Variablen überprüfen.
formprogrammieren.png
 

Bei diesem Formular müssen ein Name, ein Vorname, ein Kurs und ein Level angegeben werden. Das Alter muss aus genau zwei Zahlen bestehen. Der Code dazu sieht so aus:

<form action="/cgi-sys/FormMail.cgi" method="post">
<table>
<tr>
<td>Ihr Name:</td>
<td><input type="text" name="realname" /></td>
</tr>
<tr>
<td>Ihr Vorname:</td>
<td><input type="text" name="vorname" /></td>
</tr>
<tr>
<td>Alter:</td>
<td><input type="text" name="alter" size="2" /></td>
</tr>
<tr>
<td>Kurs:</td>
<td>
<select name="kurs">
<option value="Java">Java</option>
<option value="C_plus_plus">C++</option>
<option value="PHP">PHP</option>
<option value="ASP">ASP</option>
</select>
</td>
</tr>
<tr>
<td valign="top">Schwierigkeitsgrad:</td>
<td>
<input type="radio" name="level" value="Anfaenger" />
anf&auml;nger &nbsp;
<input type="radio" name="level" value="Fortgeschrittene" />
fortgeschrittene &nbsp;</td>
</tr>
<tr>
<td><input type="submit" name="submit" value="anmelden" /></td>
</tr>
</table>
<div>
<input type="hidden" name="print_config" value="subject,recipient,submit,alter_regex,required" />
<input type="hidden" name="recipient" value="info@ihre-eigene-domain.ch" />
<input type="hidden" name="subject" value="Anmelden" />
<input type="hidden" name="required" value="realname,vorname,kurs,level" />
<input type="hidden" name="alter_regex" value="^\d{2}$" />
</div>
</form>
You must to post a comment.
Last modified
00:00, 6 Jul 2015

Tags

This page has no custom tags.

Classifications

This page has no classifications.