Formmail

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 [email protected]. 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=“https://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=“https://your.host.com/error.html“>
  
Hinweis: Ersetzen Sie „https://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