Logo WEBSTYLE in Fettschrift, darunter 'by Nicole Weiß' in Handschrift
Menü
Navigation überspringen
  • Start
  • Leistungen
  • Über mich
  • Blog
  • Kontakt

Probleme beim E-Mail-Versand mit Contao – Ursachen und Lösungen

9. Oktober 2024 von Nicole Weiß

Immer wieder kommt es vor, dass ich Hilferufe bekomme, da die Kontaktformulare von Contao keine Mails mehr versenden. Spoiler: Selten sind die Formulare selbst schuld.

Solche Probleme sind zwar nicht alltäglich, kommen aber immer wieder vor, auch bei Seiten, die seit Jahren fehlerfrei E-Mails versenden. Nun, ist schnelle Hilfe gefragt. In diesem Beitrag gehe ich darauf ein, warum solche Probleme entstehen können und welche Lösungen es gibt.

Warum gibt es keine Fehlermeldung in Contao?

Eine Besonderheit, die viele Kunden überrascht: Contao generiert nicht immer eine Fehlermeldung, wenn ein E-Mail-Versandproblem auftritt.

Der Grund dafür liegt darin, dass Contao den Versandprozess in diesen Fällen erfolgreich abschließen kann, das eigentliche Problem jedoch beim Versand über den Hoster bzw. beim Empfang der E-Mail auftritt. Das bedeutet: Die E-Mail wird von Contao weitergegeben, aber danach wird die Mail blockiert. Da der Fehler erst nach dem Versand auftritt, bekommt Contao davon gar nichts mit.

Das Gemeine daran ist: Solche Probleme fallen unter Umständen erst Wochen später auf und der Besucher bekommt in der Zwischenzeit nach dem Versand des Formulars die Mitteilung, dass alles geklappt hat.

Warum entstehen E-Mail-Probleme?

Es gibt verschiedene Gründe, warum der E-Mail-Versand über eine Contao-Seite nicht erfolgreich ist. Häufig liegt es an den folgenden Faktoren:

Die Hosting-Umgebung

Es gibt Hoster, die aus Sicherheitsgründen den Versand von E-Mails über die PHP Mailer-Funktion einschränken oder komplett verbieten.

Manchmal treten auch erst Probleme auf, wenn der Hoster Änderungen an seinen Servereinstellungen vornimmt, die die E-Mail-Konfiguration betreffen. Auch eine Aktualisierung der Server-Software durch den Hoster kann dafür sorgen, dass vor allem ältere Contao-Installationen inkompatibel werden und somit bestimmte Funktionen nicht mehr funktionieren.

Ein Umzug der Webseite zu einem anderen Hoster kann den E-Mail-Versand ebenfalls beeinträchtigen, da sich die komplette technische Umgebung ändert. Was der eine Hoster erlaubt, muss beim anderen nicht der Fall sein.

Das heißt, wenn man sich auf den Versand über die PHP Mailer-Funktion verlässt, kann das Formular von heute auf morgen aufhören zu funktionieren.

SPF-Einträge

Der SPF-Eintrag (Sender Policy Framework) legt fest, welche Server E-Mails im Namen einer Domain versenden dürfen.

Wenn der Webserver, der für den Versand der E-Mails verantwortlich ist, nicht im SPF-Eintrag eingetragen ist, kann die E-Mail vom empfangenden Mail-Server als Spam markiert oder ganz abgelehnt werden.

Standardmäßig ist das meist kein Problem, wenn E-Mails und die Webseite über denselben Hoster laufen und der SPF-Eintrag nicht verändert wurde (oder gar keiner vorhanden ist). Es ist dennoch wichtig, einen guten SPF-Eintrag zu haben, da dieser festlegt, wer im Namen der Domain E-Mails verschicken darf.

Gerade bei der Verwaltung von E-Mails über externe Anbieter wie z. B. Microsoft bzw. Outlook können Probleme auftreten, denn hier werden die SPF-Einträge angepasst, um alles rund um die E-Mail sicherer zu machen, was im Grunde richtig und wichtig ist.

Bei den zwei Webseiten, die ich betreute, werden die E-Mails über Outlook verwaltet, und der SPF-Eintrag wurde so angepasst, dass nur Server, die unter spf.protection.outlook.com aufgelistet sind, E-Mails verschicken dürfen. In beiden Fällen wurde also die Contao-Webseite vom erlaubten Versand ausgeschlossen. Die E-Mails gehen zwar raus, werden jedoch vom empfangenden E-Mail-Dienst abgelehnt, da der Webserver keine Berechtigung hat, E-Mails zu verschicken.

Was kann man tun?

1. SMTP-Postfach anlegen und eintragen

Statt E-Mails direkt über den Webserver zu versenden, ist es sinnvoller, ein SMTP-Postfach zu verwenden. Hierbei handelt es sich um ein Postfach, das bei einem E-Mail-Provider angelegt wird und über das der Versand erfolgt.

Das ist in jedem Fall IMMER zu empfehlen! Denn erstens verhindert der Versand über ein SMTP-Postfach viele Fehler, zum anderen ist es der einzig sichere Versand einer E-Mail, der ohne eine API funktioniert. Die PHP-Mailer-Funktion ist nicht sicher und gerade wenn sensible private Daten übertragen werden, sollte die Übertragung unbedingt gesichert stattfinden.

Ein beliebter Fehler: Es sind mehrere Dienstleister vorhanden, und einer davon ändert das Passwort für das SMTP-Postfach, ohne dass alle davon erfahren. Alles schon erlebt.

Kleiner Hinweis: Ich würde immer ein dediziertes Postfach für Contao anlegen, z. B. unter einer noreply@- oder einer contao@-Adresse, denn die Zugangsdaten werden im Klartext auf dem Webserver gespeichert. Diese Daten sind zwar von außen nicht zugänglich, aber jeder, der Zugang zum FTP hat, kann diese Daten sehen. Das sind in der Regel nur Mitarbeiter und vertrauensvolle externe Dienstleister. Dennoch würde ich kein wichtiges aktives Postfach hier hinterlegen.

2. Webserver im SPF-Eintrag erlauben

Überprüfen Sie, ob der Webserver, der die E-Mails versendet, im SPF-Eintrag der Domain eingetragen ist. Falls nicht, sollte der Eintrag angepasst werden, um sicherzustellen, dass der Versand von diesem Server aus erlaubt ist.

Dazu gibt es verschiedene Tools, wie z. B. den SPF Record Lookup. (Darauf achten, dass "SPF Record Lookup" im orangenen Button aktiv ist.)

3. Eine aktuelle Contao-Installation

Um mögliche Fehler aufgrund von Inkompatibilitäten zu vermeiden: Contao-Installation aktuell halten. Das ist aber sowieso immer eine sehr gute Idee.

4. Testen! Testen! Testen!

Zu guter Letzt: Regelmäßig die Formulare testen. Wie oft man das macht, hängt davon ab, wie wichtig einem die Besucheranfragen sind. Es gibt so viele Faktoren, die sich unbemerkt ändern können.

Wie kann man das tun?

1. SMTP-Daten in Contao hinterlegen

Um die SMTP-Daten in Contao einzutragen, können diese in der Datei .env.local hinterlegt werden (ab Contao 4.9). Diese befindet sich im obersten Ordner der Contao-Installation.

# .env.local
MAILER_DSN=smtp://benutzername:passwort@smtp.example.com:465?encryption=ssl

Zum Generieren dieser Zeile empfehle ich diesen Generator im Contao Handbuch.

Eine Alternative für Contao 4-Installationen ist das Hinterlegen der SMTP-Daten in der parameters.yaml. Diese befindet sich in der Regel im config-Ordner der Webseite, bis Contao 4.7 im Ordner app/config/.
Die Daten selbst müssen in diesem Fall wie folgt eingetragen werden:

parameters:
  …
  mailer_transport: smtp
  mailer_host: host.example.com
  mailer_user: mail@example.com
  mailer_password: 'mein-passwort'
  mailer_port: 465
  mailer_encryption: ssl

Wichtig: Nach dem Einfügen der SMTP-Daten den Contao-Cache neu aufbauen und wie immer das Testen nicht vergessen!

2. Den SPF-Eintrag überprüfen

Der SPF-Eintrag wird über die DNS-Einstellungen der Domain angelegt und somit über den Hoster eingestellt. Hier gibt es viele verschiedene Möglichkeiten, daher kann ich kein Patentrezept geben, verweise aber gerne auf die MXToolbox, mit der man sich einen individuellen SPF-Eintrag generieren kann: SPF Record Generator.

Wo genau sich der DNS-Eintrag anlegen/anpassen lässt, ist vom jeweiligen Hoster abhängig. Hier empfehle ich einen Blick in die FAQ des Hosters zu werfen.

3. Contao aktuell halten

Regelmäßige Contao-Updates sind immer eine gute Idee, da sie sicherstellen, dass die Webseite auch die neuesten technischen Entwicklungen berücksichtigt.

Wer sich selbst um seine Installation kümmert, sollte damit kein Problem haben. Allen anderen empfehle ich, einen erfahrenen Dienstleister damit zu beauftragen. In der Regel funktionieren Contao-Updates wunderbar, aber wie immer hat jede Regel ihre Ausnahmen.

Sie haben weder Zeit noch Lust sich damit zu befassen? Ich unterstütze Sie gerne!

Kontaktieren Sie mich

Fazit

Probleme beim E-Mail-Versand über Contao entstehen oft durch externe Faktoren wie fehlerhafte SPF-Einträge oder Änderungen beim Hoster. Contao selbst hat in solchen Fällen wenig Kontrolle, da der Fehler nach der Übergabe der E-Mail auftritt. Um das Problem zu beheben, sollten die Servereinstellungen überprüft und ein SMTP-Postfach eingerichtet werden.

Weitere Beiträge

4. Juli 2025 von Nicole Weiß

Das hilft gegen Spam-Versand über Contao-Formulare

Mit dem Update im Februar 2024 bietet Contao erweiterte Honeypot-Logik und zusätzliche Sicherheitsmaßnahmen für optimalen Schutz.

mehr lesen…

23. September 2024 von Nicole Weiß

DMARC, DKIM und SPF – Was ist das und warum ist es wichtig?

Erfahren Sie, was DMARC, DKIM und SPF sind, warum sie entscheidend für die E-Mail-Sicherheit sind und wie sie helfen, Spam und Phishing zu verhindern.

mehr lesen…

Nicole Weiß
Webstylerin

info@webstylisten.de
/in/webstylerin/
Navigation überspringen
  • Kontakt
  • AGB
  • Impressum
  • Datenschutz