I am Netty  .. lookatmeee  !! .
..
...
Netty{punkt}
NetCologne{punkt}
de {släsch :~]


Web-Formulare per E-Mail versenden

( Direkt zu den einfachen oder erweiterten Beispielen )
Besondere Hinweise für FrontPage-Benutzer

Für das Versenden von Mails aus Formularen gibt es verschiedene Einsatzgebiete. Man kann Feedback von Lesern anfordern, Formulare ausfüllen lassen oder gar Bestellungen entgegennehmen. Nicht alle Browser unterstützen das Absenden von Formularen via mailto; das servergestützte Absenden von Mails kann dagegen mit allen Browsern genutzt werden, die FORMs darstellen können.

Das hier eingesetzte Script heisst "FormMail" und stammt aus "Matt's Script Archiv". Wir bieten Ihnen sowohl eine deutsche wie auch eine englische Version an (der Leistungsumfang ist identisch, lediglich die Fehlermeldungen und der Mailtext unterscheiden sich).

Voraussetzungen:
Das Script ist nur für Netcologne-Kunden zugelassen; es funktioniert nur, wenn das aufrufende Formular auf einem Netcologne-Server liegt (z.B. www.netcologne.de oder www.(kunde).netcologne.de). Kunden mit eigenem Domainnamen, die das Script nutzen wollen, können sich mit einer Mail an counter@netcologne.de anmelden. Dies gilt nur für Websites/Domains, die bei NetCologne gehostet werden.

Benutzung / Aufruf:
Sie sollten auf jeden Fall die Originaldokumentation ( http://www.worldwidemart.com/scripts/readme/formmail.shtml) lesen; vorab finden Sie hier aber ein paar wichtige Hinweise:

Aufgerufen wird das Script mit der Anweisung
<FORM ACTION="http://cgi.netcologne.de/cgi-bin/formmail" METHOD="POST"> (englische Version) bzw.
<FORM ACTION="http://cgi.netcologne.de/cgi-bin/formmail.d" METHOD="POST"> (deutsche Version).

Kurz gesagt nimmt das Script alle Eingaben aus einem Formular entgegen und versendet sie via E-Mail an eine gewünschte Adresse. Die Konfiguration des Mailversands erfolgt über "versteckte" Variablen (<INPUT TYPE=HIDDEN NAME="..." VALUE="...">).

Zumindest die Variable recipient muss vorhanden sein: "recipient" gibt den Empfänger der versandten Mail an. Wenn ein Eingabefeld für eine Variable email definiert ist, dann wird hieraus das Absenderfeld der E-Mail konstruiert. Alle weiteren Felder sind frei definierbar; ihre Inhalte werden in der erstellten Mail versandt. Ein minimales Formular zum Mailversand sieht also so aus:

Code

Darstellung im Browser

<FORM ACTION="http://cgi.netcologne.de/cgi-bin/formmail" METHOD="POST">
<INPUT TYPE="hidden" NAME="recipient" VALUE="empfaenger@adresse.de">
Absender: <INPUT TYPE="text" NAME="email">
Kommentar: <INPUT TYPE="text" NAME="Kommentar">
<INPUT TYPE="submit" VALUE="Absenden">
</FORM>

Absender:

Kommentar:

Als Ergebnis wird an die Empfänger-Adresse eine Mail versandt, die folgendermassen aussieht:
Below is the result of your feedback form.
It was submitted by (Absender)
on Monday, June 23, 1997 at 18:30:06 -----------------------------------------
Kommentar: Dies ist mein Kommentar
-----------------------------------------

Sie können das Formular beliebig gestalten und um weitere Felder, Checkboxen, Radio-Buttons etc. erweitern - alle Felder des Formulars werden versandt. Wichtig ist nur, dass zumindest die genannten Variablen (recipient, ggf auch email) vorhanden sind.

Für genauere Erläuterungen sollten Sie auf jeden Fall die Original-Dokumentation unter http://www.worldwidemart.com/scripts/readme/formmail.shtml lesen!

Erweiterte Beispiele

Eine Betreffzeile vorgeben
Damit Sie beim Mailempfang sofort erkennen, worum es geht, kann ein Betreff vorgegeben werden. Dies erfolgt mit der (versteckten) Variablen "subject".
<FORM ACTION="http://cgi.netcologne.de/cgi-bin/formmail"
   METHOD="POST">
 <INPUT TYPE="hidden" NAME="recipient"
  VALUE="empfaenger@adresse.de">
<INPUT TYPE="hidden" NAME="subject"
  VALUE="Mein Betreff hier">
Absender: <INPUT TYPE="text"  NAME="email">
Kommentar: <INPUT TYPE="text"  NAME="Kommentar">
 <INPUT TYPE="submit" VALUE="Absenden">
</FORM>
<!-- bei allen Variablen die Kleinschreibung beibehalten -->
<!-- keine Leerzeichen,Bindestriche,Umlaute in Variablen/Feldnamen -->
Eine eigene Ergebnis-Seite anzeigen
Wenn Sie nach dem erfolgreichen Absenden des Formulars dem Benutzer lieber mit einer selbst gestalteten Dankes- oder Bestätigungsseite antworten möchten, können Sie den URL dieser Seite mit der versteckten Variablen "redirect" vorgeben. Es muss immer der komplette URL, beginnend mit http://....... angegeben werden.
<FORM ACTION="http://cgi.netcologne.de/cgi-bin/formmail"
   METHOD="POST">
 <INPUT TYPE="hidden" NAME="recipient"
  VALUE="empfaenger@adresse.de">
<INPUT TYPE="hidden" NAME="redirect"
  VALUE="http://www.meinserver.de/verzeichnis/danke.html">
Absender: <INPUT TYPE="text"  NAME="email">
Kommentar: <INPUT TYPE="text"  NAME="Kommentar">
 <INPUT TYPE="submit" VALUE="Absenden">
</FORM>
<!-- bei allen Variablen die Kleinschreibung beibehalten -->
<!-- keine Leerzeichen,Bindestriche,Umlaute in Variablen/Feldnamen -->
Leere Eingabefelder verbieten
Wenn Sie das Ausfüllen eines oder mehrerer Felder bindend vorschreiben wollen, müssen Sie den Namen dieses Feldes in der Variable "required" speichern. Im folgenden Beispiel wird das bei den Feldern schuh_groesse und schuh_farbe gemacht. Wenn diese Felder nicht ausgefüllt werden, wird der Benutzer aufgefordert, dies nachzuholen (siehe auch nächstes Beispiel).
<FORM ACTION="http://cgi.netcologne.de/cgi-bin/formmail"
   METHOD="POST">
 <INPUT TYPE="hidden" NAME="recipient"
  VALUE="empfaenger@adresse.de">
 <INPUT TYPE="hidden" NAME="subject"
  VALUE="Mein Betreff hier">
Absender  : <INPUT TYPE="text"  NAME="email">
Schuhgröße: <INPUT TYPE="text"  NAME="schuh_groesse">
Farbe     : <INPUT TYPE="text"  NAME="schuh_farbe">
<INPUT TYPE="hidden" NAME="required"
  VALUE="schuh_groesse,schuh_farbe"> 
 <INPUT TYPE="submit" VALUE="Absenden">
</FORM>
<!-- bei allen Variablen die Kleinschreibung beibehalten -->
<!-- keine Leerzeichen,Bindestriche,Umlaute in Variablen/Feldnamen -->
Eine eigene Fehlerseite anzeigen
Wenn Sie mit der Variable "required" ein oder mehrere Felder als verpflichtend definiert haben (s.o.) und der Benutzer diese Felder nicht ausfüllt, wird eine neutrale Fehlermeldung angezeigt. Sie können stattdessen eine eigene Fehlerseite anzeigen lassen, indem Sie den URL dieser Seite in der Variable "missing_fields_redirect" angeben:
<FORM ACTION="http://cgi.netcologne.de/cgi-bin/formmail"
   METHOD="POST">
 <INPUT TYPE="hidden" NAME="recipient"
  VALUE="empfaenger@adresse.de">
 <INPUT TYPE="hidden" NAME="subject"
  VALUE="Mein Betreff hier">
Absender  : <INPUT TYPE="text"  NAME="email">
Schuhgröße: <INPUT TYPE="text"  NAME="schuh_groesse">
Farbe     : <INPUT TYPE="text"  NAME="schuh_farbe">
<INPUT TYPE="hidden" NAME="required"
  VALUE="schuh_groesse,schuh_farbe"> 
<INPUT TYPE="hidden" NAME="missing_fields_redirect"
  VALUE="http://www.meinserver.de/bla/fehler.html"> 
 <INPUT TYPE="submit" VALUE="Absenden">
</FORM>
<!-- bei allen Variablen die Kleinschreibung beibehalten -->
<!-- keine Leerzeichen,Bindestriche,Umlaute in Variablen/Feldnamen -->
Eine Absender-Adresse vorgeben
Wenn Sie die Mails, die Sie via Webgateway erhalten, mit einem bestimmten Absender kenntlich machen wollen, müssen Sie die Variablen "email" (und ggf. auch "realname") selbst vorgeben, anstatt sie vom Benutzer eintragen zu lassen.
Um dennoch die Mailadresse des Benutzers zu erfragen, können Sie einfach ein Feld mit einem beliebigen Variablennamen dafür vorsehen. Mit dem folgenden Beispielformular wird eine Mail erzeugt, die als Absender die Angaben "ich@anderswo.de (Mein Webgateway)" im Mailheader trägt. Falls der Benutzer eine Mailadresse angibt, wird diese im Text der Mail im Feld "abs_adresse" ausgegeben.
<FORM ACTION="http://cgi.netcologne.de/cgi-bin/formmail"
   METHOD="POST">
 <INPUT TYPE="hidden" NAME="recipient"
  VALUE="empfaenger@adresse.de">
 <INPUT TYPE="hidden" NAME="subject"
  VALUE="Mein Betreff hier">
<INPUT TYPE="hidden" NAME="email"
  VALUE="ich@anderswo.de"> 
<INPUT TYPE="hidden" NAME="realname"
  VALUE="Mein Webgateway "> 
Adresse   : <INPUT TYPE="text"  NAME="abs_adresse">
Schuhgröße: <INPUT TYPE="text"  NAME="schuh_groesse">
 <INPUT TYPE="submit" VALUE="Absenden">
</FORM>
<!-- bei allen Variablen die Kleinschreibung beibehalten -->
<!-- keine Leerzeichen,Bindestriche,Umlaute in Variablen/Feldnamen -->

NetCologne Webadmins (UB 8/98)