Veröffentlichungsdatum: 04. Februar 2020
Änderungsdatum: 19. Dezember 2023
weblication cms core grid e-mails mail formular kontaktformular skripten anwendungen versand empfang smtp
Beim Versand von E-Mails über z.B. Kontaktformulare, Skripten, Anwendungen, etc. sind für einen erfolgreichen Empfang diverse Punkte zu berücksichtigen.
Der erfolgreiche Versand von E-Mails über ein Kontakt-Formular, ein Skript, o.ä. ist von mehreren Faktoren abhängig. In diesem Artikel wollen wir die wichtigsten Faktoren beim Einsatz unserer Weblication® CMS wMailer-Funktionen auflisten und beschreiben.
Das Versenden von Nachrichten per E-Mail kann neben diversen E-Mail Programmen auch über einen Webserver erfolgen. Dabei sind für einen erfolgreichen Versand im Gegensatz zu einem E-Mail Client das Zusammenspiel der Komponenten zum Webserver zu berücksichtigen.
Aufgrund eines kontinuierlich steigenden Spam-Aufkommens reagieren immer mehr Mail-Provider mit dem Einsatz von Blacklists, Greylists, Spam-Filtern, Firewall- und Proxy-Regeln, etc. auf derartige E-Mails.
Dies kann leider auch dazu führen, daß E-Mail Nachrichten geblockt werden, welche - zumindest für Absender und Adressat - kein Spam oder Junk darstellen. Um so wichtiger ist es daher, auf mögliches Blocken und Filtern von E-Mails bestmöglich einzugehen.
Wir empfehlen aus diesen Gründen generell:
Unabhängig von der bestmöglichen Konfiguration für den E-Mail Versand über Skripten / Formularen sollten Sie diese kontinuierlich auf korrekte Funktionalität prüfen (siehe auch Punkt 6: Protokollierung und regelmässige Kontrollen Weiterführende Links).
Für den Transport von E-Mails steht Ihnen in Weblication® CMS folgende Mail-Engine Auswahl zur Verfügung:
Weblication® versendet E-Mails standardmässig immer über Weblication® eigene Funktionen (wSMTP2). Ist in den Weblication® Systemeinstellungen ein SMTP-Host angegeben, wird der Versand nicht direkt vorgenommen, sondern an den eingestellten SMTP-Server übergeben.
Über die Systemeinstellungen (Mailserver) können Sie zum allgemeinen wie auch Newsletter Mailserver die Schaltfläche "Test E-Mail versenden" zur Prüfung der Versand-Funktionalität anklicken. Zum angemeldeten Benutzer (z.B. admin) muss in der Benutzer-Datei eine E-Mail Adresse hinterlegt sein, ansonsten kommt die Meldung "Bitte tragen Sie in Ihrem Benutzer eine E-Mail Adresse ein.". Sollte dies der Fall sein, müssen Sie sich nach dem Ergänzen der E-Mail Adresse als Benutzer abmelden und wieder neu anmelden.
Bei Änderungen an den SMTP-Einstellungen müssen diese vor einem erneuten Test gespeichert werden (es reicht ein Zwischenspeichern).
Beachten Sie zum Test-Versand, daß als Absender E-Mail Adresse die in den Systemeinstellungen (Allgemein) eingetragene "Absenderadresse von System E-Mails" verwendet wird (wenn leer, info@ Adresse der aufgerufenen (Sub)Domain)!
Die Debug-Ausgabe zeigt Ihnen die Rückmeldung vom verwendeten Mail-System (PHP oder SMTP-Server) und gibt somit genaue Aufschlüsse darüber, was bei einem Fehler die Ursache ist.
Beispiele:
Wichtig beim Einsatz von Weblication® auf Webservern des Providers Domainfactory:
Wenn E-Mails über eine verschlüsselte Verbindung (SSL) verschickt werden sollen, tragen Sie in den Systemeinstellungen am besten den allgemeinen SMTP-Server "sslout.df.eu" (oder den Alias "sslout.de") ein (Port 465 und ssl) und müssen dann als Mail-Engine (engineType) "wSMTP2" verwenden. (in älteren CMS-Versionen als 12.x "zend").
Speziell beim Einsatz eines SMTP-Servers zum E-Mail Versand ist heutzutage in der Regel immer eine Authentifizierung erforderlich. Ausnahmen gibt es z.B. beim Einsatz in internen Netzwerken.
Die Authentifizierung erfolgt meist über ein bestehendes E-Mail Postfach, das mit seinen Daten (Benutzername und Passwort) vom SMTP-Server zum Versand als berechtigt angesehen wird.
Diese Daten erhalten Sie von Ihrem Provider bzw. können Sie in den meisten Fällen auch direkt über das Kundenmenü des Provider einsehen. Tragen Sie diese Daten im Register "Mailserver" der Weblication® Systemeinstellungen ein. Beispiele für diverse Provider finden Sie über den zuvor genannten Link.
Sofern sich diese Daten beim Provider einmal ändern sollten (Host, Benutzername, Passwort), müssen Sie die geänderten Daten auch wieder in den Systemeinstellungen entsprechend ändern.
Beachten Sie beim Einsatz eines SMTP-Servers, daß es abhängig vom Provider erforderlich ist, einen SPF-Record (SPF: Sender Policy Framework) zur verwendeten Domain (meist die lizenzierte Domain) zu setzen. Ansonsten kann es vorkommen, daß E-Mails nicht vom SMTP-Server weitergereicht werden. Solch eine Ablehnung erfolgt in der Regel ohne Rückmeldung / Hinweis, weshalb man also nicht darauf hingewiesen wird.
Ein SPF-Eintrag zu einer Domain, welche z.B. über Domainfactory verwaltet wird, kann z.B. so aussehen:
v=spf1 mx a include:ispgateway.de -all
Klären Sie dies direkt mit Ihrem Mail-Provider, um den korrekten Eintrag zu setzen.
Klären Sie beim Einsatz der PHP mail() Funktion direkt mit Ihrem Provider, welche Einschränkungen und Bestimmungen es beim Versand von E-Mails gibt.
Über Kontakt- / Anfrage-Formulare wird dem Seitenbesucher meist die Möglichkeit gegeben, seine E-Mail Adresse im Formular zu hinterlegen. Damit man bei E-Mails über solch ein Formular dem Anfragenden direkt antworten kann, ist meist die im Formular eingetragene E-Mail Adresse des Seitenbesuchers als Absender gesetzt:
From: [!--email--] To: [!--to--] Content-Type: text/plain; charset=UTF-8 Subject: [!--subject--] ...
Viele E-Mail Provider erlauben über deren Mail-Server (SMTP-Host) nur E-Mail Adressen von Domains, welche dem Mailserver bekannt sind. In der Regel sind das alle E-Mail Adressen zu Domains, welche beim Provider registriert sind. Teilweise kann es aber auch weitergehende Limitierungen geben, was Sie beim Mail-Provider erfragen sollten.
Aus diesem Grund sollten Sie Formulare so umsetzen, daß diese eine Absender E-Mail Adresse gesetzt haben, welche vom verwendeten Mail-System (z.B. SMTP) zum Senden erlaubt ist.
Die "E-Mail an den definierten Empfänger" setzen Sie daher im so benannten Feld im Formular auf eine entsprechende Adresse, siehe z.B.:
From: absender@lizenzierteDomain.tld To: [!--to--] Reply-To: [!--email--] Content-Type: text/plain; charset=UTF-8 Subject: [!--subject--] ...
Falls das E-Mail Feld im Formular kein Pflichtfeld sein soll und somit ein Reply-To auch leer sein kann, können Sie das mit Platzhaltern abfragen (siehe nachfolgend). Achten Sie in solch einen Fall darauf, daß das E-Mail Formularfeld bei einem optionalen Eintrag eine gültige E-Mail Adresse hinterlegt bekommt.
From: absender@lizenzierteDomain.tld To: [!--to--][!--#if test="email != ''"--] Reply-To: [!--email--][!--#endif--] Content-Type: text/plain; charset=UTF-8 Subject: [!--subject--] ...
Ab Weblication® CMS-Version 011.005.026.000 unterstützt die Software beim Versand über das ZEND-Framework (und Angabe von SMTP-Daten) ein Reply-To im E-Mail Header, womit Sie die Antwort-Adresse hinterlegen können. Über die ab CMS 12.x empfohlene Mail-Engine wSMTP2 wird dies natürlich auch unterstützt.
Die BASE Projektbasis und Weblics® sind dahingehend in aktuellsten Versionen bereits so umgesetzt, daß als Absender eine Dummy E-Mail Adresse gesetzt ist ( From: mail@example.com ) und das Reply-To Feld auf den Namen des E-Mail Formularfeldes gesetzt ist ( Reply-To: [!--email--] ).
Passen Sie Ihr Formular auf eine für den Versand berechtigte E-Mail Adresse an! In der Regel kann eine E-Mail Adresse unterhalb der lizenzierten Domain verwendet werden.
Vorab die Begriffsdefinition von Spam und Junk aus Wikipedia:
"Als Spam [spæm] oder Junk (englisch für ‚Abfall‘ oder ‚Plunder‘) werden unerwünschte, in der Regel auf elektronischem Weg übertragene Nachrichten (Informationen) bezeichnet, die dem Empfänger unverlangt zugestellt werden und häufig werbenden Inhalt enthalten. Dieser Vorgang wird Spamming oder Spammen genannt, der Verursacher Spammer."
Prüfen Sie E-Mail Formulare und Skripten immer dahingehend, ob diese im E-Mail Header und Inhalt offensichtliche Spam-Kriterien aufweisen. Ansonsten laufen Sie Gefahr, daß die vom Seitenbesucher verschickten E-Mails entweder schon vorab gefiltert oder in Spam- bzw. Junk-Ordner verschoben werden und somit nicht gelesen werden.
Kontrollieren Sie E-Mail Formulare und Skripten nicht nur beim ersten Einrichten, sondern auch danach in bestimmten Abständen auf korrekte Funktionalität. Es ist ärgerlich, wenn man zu augenscheinlich problemlos verschickten Anfragen / Bestellungen / etc. erst nach Tagen bzw. Wochen feststellt, daß diese nicht beim gewünschten Empfänger angekommen sind.
Wichtig ist in erster Linie, daß die hinterlegten Daten für den E-Mail Versand korrekt sind. Zusätzlich ist es in der Regel immer gut, wenn die Eingaben im Formular nicht nur per E-Mail verschickt werden, sondern auch protokolliert werden. So lassen sich Anfragen, Bestellungen, etc. im Nachgang rekonstruieren.
Achten Sie dabei auf rechtliche Belange, wie z.B. Datenschutz!
Nachfolgend ein paar wichtige Fragen, welche Ihnen die Kontrolle erleichtern sollen:
Grundsätzlich wird empfohlen, wichtige E-Mail Nachrichten (z.B. Bestellungen, Event-Buchungen, etc,) niemals rein dem automatisierten Versand zu überlassen, sondern immer von Personen prüfen bzw. bestätigen zu lassen.
Wenn z.B. Veranstaltungen, Anlässe oder dergleichen über Webseiten-Formulare gebucht werden können, sollte in einer automatisierten Bestätigung z.B. darauf hingewiesen werden, daß zur Vorabbestätigung nochmals eine gesonderte Bestätigung vom Betreiber erfolgt.