(Opens in a new window - öffnet in einem neuen Fenster)
Kurz-Dokumentation Plugin "MailForms"
Version MailForms 2.9 - veröffentlicht 2023-01
Kurzbeschreibung
Mit dem CMSimple Plugin MailForms können Sie beliebig viele E-mail Formulare auf Ihrer CMSimple Website betreiben.
Es ist nur ein (1) Formular pro Seite möglich, weitere Formulare auf einer (1) Seite werden nicht angezeigt.
Die Formulare können Online erstellt und bearbeitet werden.
Da an jeder beliebigen Stelle der Formulare html-Elemente eingfügt werden können, ist jedes einzelne Formular mit ein wenig Grundwissen in html und CSS individuell stylebar.
MailForms ist somit ein starkes Werkzeug für Webdesigner und Agenturen zur Gestaltung individueller E-mail Formulare nach den Vorgaben und Wünschen ihrer Kunden und Auftraggeber.
1. Systemvoraussetzungen
Voraussetzung ist eine funktionierende Installation von CMSimple 4.2 oder höher.
Empfohlen wird CMSimple 4.4 oder höher.
2. Installation
- zip-Datei herunterladen und mit einem geeigneten Programm entpacken
-
- Laden Sie die komplette Ordner-Struktur des Verzeichnisses "CMSimpleRoot" (die Verzeichnisse "plugins" und "content") in das Installationsverzeichnis von CMSimple hoch.
- Ihr ftp Programm wird merken, dass es diese Verzeichnisse bereits gibt, und Sie fragen, ob Sie das wirklich tun wollen. Beantworten Sie diese Frage einfach mit "ja", "ok" oder was immer Ihr ftp Programm anbietet.
- Bei einem Update laden Sie einfach das Verzeichnis "content" nicht mit hoch.
- Vergeben mit Ihrem ftp-Programm die erforderlichen Lese- und Schreibrechte für Ordner und Dateien.
3. Datei- und Ordnerrechte
Damit das Programm funktioniert und arbeiten kann (bzw. administrierbar ist), müssen für bestimmte Dateien und Ordner bestimmte Schreib- und Leserechte vergeben werden.
Ordner (chmod 777)
- ./plugins/mailforms/languages/
- ./content/plugins/mailforms/
Dateien (chmod 666)
- ./plugins/mailforms/config/config.php
- ./plugins/mailforms/css/stylesheet.css
- ./plugins/mailforms/languages/alle Dateien
- ./content/plugins/mailforms/alle Dateien
4. Aufruf des Plugins
4.1 Einfacher Plugin Aufruf
Das ist die Funktion, mit der das E-mail Formular aufgerufen wird:
{{{plugin:dd_mailform('Dateiname');}}}
Dateiname: Der Dateiname der Formular Datei (ohne Endung)
Wenn die Schreibrechte korrekt gesetzt sind, erzeugt MailForms automatisch die .txt Datei mit dem angegebenen Dateinamen (aus der Vorlage default.txt).
Es kann aber auch eine bereits existierende Formulardatei aufgerufen werden. Alle Formulardateien liegen im Verzeichnis
./content/plugins/mailforms/
4.2 Erweiterter Plugin Aufruf mit optionalen Parametern
{{{plugin:dd_mailform('Dateiname','Empfänger','Kopie an Sender','Layout','Betreff');}}}
- Dateiname: Der Dateiname der Formular Datei (ohne Endung)
- Empfänger (optional): Die E-mail Adresse des Empfängers (überschreibt den Wert aus der Plugin Konfiguration) oder 'selrecip', wenn der entsprechende Feldtyp genutzt wird.
- Kopie an Sender (optional): Voreingestellt ist "false" (Es geht keine Kopie der mail an den Absender), "true" aktiviert diese Funktion. Bitte beachten Sie, dass diese Funktion durch Angabe einer falschen E-Mail-Adresse missbraucht werden kann. Diese Funktion sollte nicht auf öffentlich zugänglichen Seiten aktiviert werden.
- Layout (optional): '1col' (für einspaltig) oder '2cols' (für zweispaltig)
- Betreff (optional): überschreibt den vom Plugin erzeugten Standard-Betreff in der E-mail
Beispiel:
{{{plugin:dd_mailform('testformular','','false','1col','MailForms Plugin - Testformular');}}}
- Zeigt die Formulardatei "testformular.txt" an
- Lässt den Empfänger unverändert
- Es geht keine Kopie der E-mail an den Absender (empfohlen)
- Das Layout ist einspaltig (empfohlen)
- Der Betreff der E-mail wird zu "MailForms Plugin - Testformular" geändert
4.3 MailForms und MembersArea
Das Plugin MailForms arbeitet ab Version 2.2 (Dez. 2020) mit MembersArea zusammen. Dazu gibt es die neue Funktion dd_mailformMA():
{{{plugin:dd_mailformMA('Dateiname');}}}
Dateiname: Der Dateiname der Formular Datei (ohne Endung)
Beispiel:
{{{plugin:dd_mailformMA('nocaptcha');}}}
Bei Verwendung dieser Funktion ist das Formular nur dann sichtbar und benutzbar, wenn der Besucher in MembersArea eingeloggt ist. Dazu richtet man in MembersArea in der Regel einen anonymen Gast Account ein.
MembersArea ist der beste Spamschutz für Formulare, weil der SpamBot gar nicht erkennt, dass es hier ein E-mail Formular gibt. Bisher hat das auf allen meinen Seiten zuverlässig funktioniert.
Da in diesem Fall auf ein Captcha verzichtet werden kann, ist diese Variante des Spamschutzes auch zugänglich, z. B. für Sehbehinderte.
5. Die Formulardateien
Der Feldbezeichner (fieldname) des E-mail Feldes sollte immer "ddmf_sender_email" sein (so wie in den Vorlagedateien), da dieser für die Erstellung der E-mail als Antwort Adresse genutzt wird.
5.1 Die Struktur der Formulardateien
Jede Zeile, die gültige Syntax enthält, wird angezeigt. Eine Zeile = 1 Formularfeld
Leerzeilen und Zeilen, die keine gültige Syntax enthalten, werden nicht angezeigt. So kann man die Formulardateien mit Leerzeilen und Kommentarzeilen gut lesbar strukturieren.
5.2 Die Syntax der Zeilen / Feldtypen
Die meisten Feldtypen setzen sich aus folgenden Parametern zusammen:
- type - Der Feldtyp
- class - Die CSS Klasse, muss in der stylesheet.css des Plugins enthalten sein.
- label - Der Text zum Feld.
- fieldname - Der technische Name des Feldes, jeder darf nur 1x pro Formular vorkommen.
- max - (optional) Maximale Anzahl der Zeichen.
- req - (optional) "true" erzeugt ein Pflichfeld.
- default - (optional) Standardwert des Feldes.
Die Parameter sind durch einen senkrechten Strich getrennt.
Beispiel:
type=text|class=fmtext|label=Name:|fieldname=ddmf_sender_name|max=100|req=true
Zur Bearbeitung der Formulare finden Sie Beispiel Code für die meisten Feldtypen im Plugin Backend unterhalb der Textarea . Weiterhin werden Beispielformulare wie z. B. "_demo.txt" mitgeliefert, zu erkennen an dem Unterstrich am Anfang der Dateinamen. Diese Beispielformulare sollten Sie nicht löschen.
6. wichtige Sonderfälle
6.1 type=text (einzeiliges Eingabefeld)
Mit dem optionalen Parameter "ver=..." können Sie Felder auf korrekte Eingabe prüfen, ansonsten wird beim abschicken des Formulars eine Fehlermeldung erzeugt.
ver=email: prüft, ob eine korrekte e-mail Adresse eingegeben wurde
6.2 type=selrecip (Selectbox "Empfänger wählen")
Dieser Feldtyp erzeugt eine Selectbox, mit der der Besucher zwischen mehreren Empfängern wählen kann. Im Plugin Aufruf muss bei Verwendung dieses Feldtyps im 2. Parameter (Empfänger) 'selrecip' eingetragen werden.
Die Empfänger werden in einen Parameter "data=..." eingetragen. Der erste Eintrag ist der sichtbare Text, danach folgen abwechselnd, durch Kommata getrennt, ein Empfängername und die dazugehörige E-mail Adresse.
Beispiel:
type=selrecip|class=fmselect|label=Empfänger:|data=Bitte wählen,User1,user1@domain.com,User2,user2@domain.com
In der Selectbox werden die Empfängernamen angezeigt.
6.3 type=checkbox (Checkbox oder Gruppe von Checkboxen)
Die Syntax ist hier ein wenig anders, für die Definition der Checkboxen gibt es den Parameter "data=..."
Dieser Parameter enthält eine Komma-separierte Liste, bei der jeweils 4 aufeinanderfolgende Einträge eine Checkbox bilden:
Syntax:
...|data=fieldname,text,checked,required,fieldname,text,checked,required,fieldname,text,checked,required,...
- fieldname: der "technische" Name der Checkbox, er muss eindeutig sein (darf nur 1x im gesamten Formular vorkommen)
- text: der Text neben der Checkbox
- checked: "true" aktiviert die Checkbox per default, "false" deaktiviert die Checkbox per default
- required: "true" macht das aktivieren zur Pflicht, "false" nicht
Beispiel:
type=checkbox|class=ddmf_check|req=true|label=Wunschfarbe:|data=checkbox_farben_red,Rot,false,false,checkbox_farben_yellow,Gelb,false,false,checkbox_farben_blue,Blau,false,false
7. Spamschutz
7.1 Grafisches Captcha
Ab Version 2.1 gibt es ein grafisches Spamschutz Captcha. Alle .png Dateien im Ordner captcha/ werden zufällig abwechselnd angezeigt.
Im Ordner captchas/backgrounds/ finden Sie mehrere Hintergrundbilder, die Sie in den Ordner captchas/ kopieren können.
7.2 Honigtopf (honeypot)
Ab Version 2.9 gibt es einen "Honigtopf" für Spambots. Ein für normale Besucher nicht sichtbares Eingabefeld verhindert, wenn es ausgefüllt wird, das abschicken des Mailformulars. Spambots füllen jedoch in der Regel alle Felder aus. Sie können einfach nicht widerstehen, so wie der Bär dem Honigzopf, und somit wird die E-Mail nicht abgeschickt. MailForms zeigt jedoch trotzdem die Erfolgsmeldung an.
Den Code für den Honigtopf findet man im Plugin Backend unter "Formulare bearbeiten", ganz unten unter "Mailform Elemente zum kopieren". Einfach oben in das Formular einfügen, am besten vor der Textarea für die eigentliche Nachricht.
Der Feldname (fieldname) ddmf_sender_phone_hpt ist dem Honigtopf vorbehalten und darf nicht anderweitig verwendet werden.
Die CSS Klasse div.ddmf_sender_phone_hpt ist in der stylesheet.css von MailForms (ganz oben) unsichtbar gemacht. Sollte das Eingabefeld sichtbar sein, fehlt diese CSS Anweisung in Ihrer stylesheet.css:
div.ddmf_sender_phone_hpt {display: none;}
8. Subsites und Zweitsprachen
Die Formular-Datendateien müssen in jeder Subsite und Zweitsprache im Ordner ./content/plugins/mailforms/ der jeweiligen Subsite oder Zweitsprache liegen. Die Vorlagen kann man einfach aus dem entsprechenden Ordner der Hauptseite (CMSimple Root) kopieren.
9. Danksagung
MailForms basiert auf dem "Secure PHP Form Mailer Script" von dagondesign.com (leider nicht mehr online). Vielen Dank für die bedingungslose Bereitstellung dieses Scriptes.