(Opens in a new window - öffnet in einem neuen Fenster)
Kurz-Dokumentation Plugin "SMTPmail"
Version SMTPmail 1.0 - released 01/2022
SMTPmail ist ein Plugin zur Versendung von E-mail Formulardaten per SMTP (Simple Mail Transfer Protocol). Es können aber auch E-mails auf die herkömmliche Art über php gesendet werden. Beide Arten des Mailversandes nutzen den PHPMailer » - vielen Dank an alle Entwickler dieser grossartigen Software.
SMTPmail ist kein "Vollkomfort Plugin", zur Erstellung der Formulare sind fundierte Kenntnisse in html und ein wenig Verständnis für php-Syntax notwendig. Einige Beispielformulare sind im Downlolad enthalten.
Hinweis: Bitte achten Sie bei den Formulardateien auf kurze und aussagekräftige Dateinamen ohne Sonderzeichen und Leerstellen.
1. Systemvoraussetzungen
Voraussetzung ist eine funktionierende Installation von CMSimple 4.2 oder höher und serverseitig php7 oder höher.
Empfohlen wird die aktuelle Version von CMSimple und php 7.4 oder höher.
2. Installation
- zip-Datei herunterladen und mit einem geeigneten Programm entpacken
-
- Laden Sie den komplette Inhalt des Verzeichnisses "CMSimpleRoot" (die Verzeichnisse "plugins" und "userfiles") in das Installationsverzeichnis von CMSimple hoch.
- Bei einem Update könnte Ihr ftp Programm merken, dass es diese Verzeichnisse und Dateien 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.
Sie sollten zuvor jedoch die config.php und die Sprachdateien sichern, wenn Sie diese mal bearbeitet haben. - Bei einem Update laden Sie einfach das Verzeichnis "userfiles" nicht mit hoch.
- Vergeben Sie (wenn nötig) mit Ihrem ftp-Programm die erforderlichen Lese- und Schreibrechte für Ordner und Dateien. Auf modernen Servern ist das nicht notwendig.
3. Datei- und Ordnerrechte
Damit das Programm funktioniert und arbeiten kann (bzw. administrierbar ist), müssen auf älteren Servern eventuell für bestimmte Dateien und Ordner bestimmte Schreib- und Leserechte vergeben werden.
Dateien: chmod 666
- ./plugins/smtpmail/config/config.php
- ./plugins/smtpmail/languages/alle Dateien
- ./plugins/smtpmail/css/stylesheet.css
Ordner: chmod 777
- ./plugins/smtpmail/languages/
- ./userfiles/plugins/smtpmail/alle Dateien/
4. Die Plugin-Aufrufe
Hinweis: Pro CMSimple Seite ist nur ein (1) SMTPmail Formular erlaubt.
4.1 Die Funktion smtpmail()
Die Funktion smtpmail() versendet die E-mails über SMTP (Simple Mail Transfer Protocol).
Einfacher Pluginaufruf:
Fügen Sie folgenden Plugin-Aufruf in Ihre CMSimple Seite ein, an der Stelle, an der das Formular erscheinen soll:
{{{plugin:smtpmail('Dateiname');}}}
Dateiname: Der Name der Formulardatei (ohne Dateiendung)
Dieser Pluginaufruf erzeugt das Formular ohne Captcha, es wird an den in der Konfiguration in der Sprachdatei festgelegten Empfänger gesendet.
Vollständiger Pluginaufruf:
{{{plugin:smtpmail('Dateiname','captcha','Empfänger Mailadresse','Empfänger Name');}}}
Dateiname: Der Name der Formulardatei (ohne Dateiendung)
captcha (optional): 'captcha' aktiviert das grafische Spamschutzcaptcha, alles andere oder weglassen des Parameters deaktivieren es.
Empfänger Mailadresse (optional): Alternative E-mail Adresse des Empfängers, abweichend von der Konfiguration in der Sprachdatei
Empfänger Name (optional): Alternativer Name des Empfängers, abweichend von der Konfiguration in der Sprachdatei
4.2 Die Funktion smtpmailMA()
SMTPmail und MembersArea
Das Plugin SMTPmail arbeitet mit MembersArea zusammen. Dazu gibt es die Funktion smtpmailMA():
{{{plugin:smtpmailMA('Dateiname');}}}
Die verwendbaren Parameter sind die gleichen wie bei der Funktion smtpmail().
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 Gastaccount 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, obwohl die MembersArea Zugangsdaten für den anonymen Gastaccount direkt auf der Formularseite stehen.
Da in diesem Fall auf ein Captcha verzichtet werden kann, ist diese Variante des Spamschutzes auch zugänglich, z. B. für Sehbehinderte.
4.3 Die Funktionen phpmail() und phpmailMA()
Die Funktionen phpmail() und phpmailMA() nutzen auch den PHPMailer, versenden aber die E-mails nicht über das Simple Mail Transfer Protocol (SMTP). So können die E-mail Formulare auch dann eingesetzt werden, wenn man aus irgendwelchen Gründen nicht im Besitz der SMTP Zugangs- bzw. Verbindungsdaten ist. Die Pluginaufrufe erfolgen genau so wie die Aufrufe der Funktionen smtpmail() und smtpmailMA().
Viele Provider akzeptieren aus Spamschutzgründen für dieses Verfahren als Empfänger ausschliesslich E-mail Adressen der eigenen Domain.
4.4 Hinweise
Fügen Sie den Plugin Aufruf immer in der Quelltext Ansicht ein, wenn Sie ihn von hier kopieren, oder lassen Sie die äusseren geschweiften Klammern weg und tragen sie von Hand nach. Sonst könnten ungewollte Formatierungen mit kopiert werden.
Sie können die optionalen Parameter nur "von hinten her" weglassen, jedoch nicht einen der optionalen Parameter aus der Mitte. Wenn Sie also z. B. nur den Parameter 'captcha' weglassen, aber alternative Empfänger angeben, wird das schiefgehen.
5. Die Formulardaten Dateien
Die Formulardaten Dateien liegen in folgendem Ordner:
./userfiles/plugins/smtpmail/
Es gibt keine Backendfunktionen zur Erstellung der Formulare. Sie müssen die Formulare offline mit einem geeigenten Codeeditor erstellen und hochladen, dazu sind fundierte Kenntnisse in html und ein wenig Verständnis für php-Syntax notwendig.
Der php-Teil (oben in der Formulardaten Datei zwischen <?php und ?>) bereitet die Daten für die E-mail auf, für jedes Formularfeld, das gesendet werden soll, eine Zeile. $_POST enthält innerhalb der eckigen Klammern den Wert des Attributes "name" des jeweiligen Formularfelds.
Wenn Sie also ein neues Formularfeld erstellen, müssen Sie noch eine entsprechende Zeile im php-Teil hinzufügen, damit der Inhalt (value) des Feldes mit übertragen wird.
Jeder Feldname darf nur 1 mal pro Formular vorkommen und muss eindeutig (einmalig) sein.
Wenn Sie ein neues Formular erstellen wollen, nehmen Sie am besten eine der mitgelieferten Vorlagen, benennen sie um und bearbeiten sie dann. Die Vorlagedateien beginnen mit einem Unterstrich ("_dateiname.php")
5.1 Eingabefeld "Anfrage" - Spamschutz mit Honigtopf (honeypot)
Im html-Teil der Vorlagedateien finden Sie ein gekennzeichnetes Formularfeld name="anfrage". Das dient als Honigtopf (honeypot). Das Feld ist per CSS verborgen für Besucher, für Spambots ist es aber ein normales Feld wie alle anderen. Spambots haben die Angewohnheit, jedes Feld auszufüllen.
Die E-mail wird nur abgeschickt, wenn das Feld leer ist. Wenn es ein Spambot ausfüllt, wird nichts abgeschickt.
Der Feldname "anfrage" kann also für die normalen Formularfelder nicht verwendet werden, das Feld darf nicht bearbeitet oder verändert werden. Es darf auf keinen Fall ein Pflichtfeld sein, das ausgefüllt werden muss.
5.2 Eingabefeld "E-mail"
Das Feld name="mail" ist für den Programmmablauf notwendig und darf (ausser der Beschriftung / label) nicht bearbeitet oder verändert werden. Es muss auf jeden Fall ein Pflichtfeld sein, das ausgefüllt werden muss.
6. Konfiguration
Die Konfiguration der SMTP Verbindungsdaten erfolgt wie gewohnt in der Plugin Konfiguration.
Die Konfiguration der Empfängerdaten erfolgt in den Sprachdateien im Block "config".
7. Zweitsprachen und Subsites
In Zweitsprachen und Subsites müssen folgende Ordner in der jeweiligen Zweitsprache oder Subsite angelegt werden:
./userfiles/plugins/smtpmail/
In diesen Ordner laden Sie dann die Formulardateien hoch.