Kurze Antwort
Wenn das Kontaktformular keine E-Mails versendet, ist die häufigste Ursache ein fehlerhafter Versand über die PHP-Funktion mail() oder eine fehlende SMTP-Authentifizierung. Prüfen Sie zuerst den Spam-Ordner und die Logs, richten Sie dann ein SMTP-Plugin mit Authentifizierung ein und überprüfen Sie die DNS-Einträge (SPF, DKIM, DMARC).
So erkennen Sie das Problem
- Nachrichten vom Kontaktformular erreichen Ihre E-Mail nicht
- Benutzer melden, dass sie keine Antwort erhalten haben
- E-Mails landen im Spam-Ordner
- Das Formular zeigt eine Erfolgsmeldung an, aber die E-Mail kommt nicht an
- Fehler „Could not instantiate mail function“ oder ähnlich
Häufigste Ursachen
PHP mail()-Funktion funktioniert nicht
Viele Hosting-Anbieter blockieren oder beschränken die PHP mail()-Funktion, sodass Nachrichten nicht versendet werden. Das ist die häufigste Ursache.
Fehlende SMTP-Authentifizierung
Ohne SMTP-Authentifizierung lehnen E-Mail-Server Nachrichten oft ab oder markieren sie als Spam. Die Einrichtung von SMTP löst das Problem.
Falsche E-Mail-Adresse des Empfängers
In den Formulareinstellungen ist möglicherweise eine falsche oder nicht existierende Adresse eingetragen. Prüfen Sie das Feld „An“ in den Plugin-Einstellungen.
Spamfilter auf Empfängerseite
Nachrichten können aufgrund fehlender SPF-, DKIM- oder DMARC-Einträge als Spam gefiltert werden. Prüfen Sie den Spam-Ordner und die Filtereinstellungen.
Konflikt mit anderen Plugins
Einige Sicherheits- oder Caching-Plugins können den E-Mail-Versand blockieren. Deaktivieren Sie sie vorübergehend und testen Sie erneut.
Lösung Schritt für Schritt
- 1
Spam-Ordner und Logs prüfen
Melden Sie sich zuerst beim E-Mail-Konto des Empfängers an und prüfen Sie den Spam- und Junk-Ordner. Wenn Sie Zugriff auf die Server-Logs haben, suchen Sie nach Fehlern im Zusammenhang mit
mail()oder SMTP. In WordPress können Sie ein Plugin zur E-Mail-Protokollierung installieren (z. B. WP Mail Logging), um zu sehen, ob die Nachrichten überhaupt versendet wurden. - 2
Versand über PHP mail() testen
Installieren Sie das Plugin „Check & Log Email“ oder „WP Mail SMTP“ und stellen Sie es bei Bedarf so ein, dass PHP mail() als Versandmethode verwendet wird. Senden Sie eine Test-E-Mail. Wenn die Nachricht nicht ankommt, ist die PHP mail()-Funktion wahrscheinlich blockiert oder funktioniert nicht richtig. Die meisten Hosting-Anbieter bieten ein SMTP-Konto mit Authentifizierung an, das verwendet werden sollte.
- 3
SMTP-Plugin einrichten
Installieren und aktivieren Sie das Plugin WP Mail SMTP oder ein ähnliches. Wählen Sie in den Einstellungen „Anderer SMTP-Server“ und geben Sie die Daten ein, die Ihnen Ihr Hosting-Anbieter mitgeteilt hat: Host (z. B.
mail.ihredomain.de), Port (587 für TLS oder 465 für SSL), Benutzername und Passwort. Speichern Sie und senden Sie eine Test-E-Mail. - 4
Einstellungen des Kontaktformulars prüfen
Prüfen Sie in den Einstellungen des Kontaktformular-Plugins (z. B. Contact Form 7, WPForms), ob die E-Mail-Adresse des Empfängers korrekt ist. In Contact Form 7 ist das das Feld „An“ im Tab „Mail“. Stellen Sie sicher, dass keine Tippfehler vorhanden sind und dass die Domain des Empfängers E-Mails akzeptiert.
- 5
SPF-, DKIM- und DMARC-Einträge prüfen
Diese DNS-Einträge verbessern die Zustellbarkeit. Der SPF-Eintrag sollte den Server einschließen, über den Sie E-Mails versenden (z. B.
v=spf1 include:_spf.google.com ~all). DKIM und DMARC werden oft über das Hosting-Panel oder den SMTP-Dienst eingerichtet. Prüfen Sie sie mit einem Tool wie MXToolbox. - 6
Sicherheits- und Caching-Plugins deaktivieren
Deaktivieren Sie vorübergehend Sicherheits-Plugins (z. B. Wordfence) und Caching-Plugins. Senden Sie dann eine Testnachricht. Wenn es funktioniert, aktivieren Sie die Plugins einzeln wieder, um den Verursacher zu finden.
- 7
Prüfen, ob das Hosting den Versand blockiert
Einige Hosting-Anbieter blockieren Port 25 oder verlangen, dass Sie deren SMTP verwenden. Wenden Sie sich an den Hosting-Support und fragen Sie, welche SMTP-Parameter Sie verwenden sollen. Oft reicht es, deren Server zu nutzen.
- 8
Plugin für alternativen Versand installieren
Wenn nichts hilft, installieren Sie ein Plugin wie „Post SMTP“ oder „FluentSMTP“, das erweiterte Optionen und Protokollierung bietet. Richten Sie es nach der Anleitung ein und testen Sie.
Wenn nichts hilft
Wenn Sie alle Schritte ausprobiert haben und die E-Mails immer noch nicht ankommen, wenden Sie sich mit Details an Ihren Hosting-Anbieter: genaue Versandzeit, Adresse des Absenders und Empfängers sowie eventuelle Fehler aus den Logs. Prüfen Sie, ob die Domain des Empfängers strenge Spamfilter hat (z. B. Microsoft 365 oder Google Workspace), und bitten Sie den Empfänger, Ihre Adresse auf die Whitelist zu setzen. Erwägen Sie auch die Nutzung eines spezialisierten Dienstes für Transaktions-E-Mails (z. B. SendGrid, Mailgun), der eine bessere Reputation und Zustellbarkeit hat. Testen Sie immer den Versand an mehrere Adressen (Gmail, Outlook, Yahoo), um zu sehen, ob das Problem global oder spezifisch für einen Empfänger ist.
So beugen Sie vor
- WordPress, Plugins und Theme regelmäßig aktualisieren
- SMTP-Authentifizierung statt PHP mail() verwenden
- SPF-, DKIM- und DMARC-Einträge einrichten
- Das Kontaktformular regelmäßig testen
Wann Sie einen Profi rufen sollten
Wenn Sie keinen Zugriff auf das Hosting-Panel haben, nicht wissen, wie Sie DNS-Einträge einrichten, oder ein ernsteres Serverproblem vermuten, wenden Sie sich an den IT-Support.
Website-Erstellung · Schnelle, SEO-optimierte, mehrsprachige WebsitesHäufige Fragen
Warum landen Nachrichten von meinem Kontaktformular im Spam?
Meist aufgrund fehlender SPF-, DKIM- oder DMARC-Einträge oder weil der Server ohne Authentifizierung versendet. Richten Sie SMTP und die DNS-Einträge ein, um die Reputation Ihrer Domain zu verbessern.
Wie erkenne ich, ob das Problem bei WordPress oder beim Server liegt?
Senden Sie eine Test-E-Mail über das SMTP-Plugin. Wenn sie nicht ankommt, liegt das Problem beim Server oder im Netzwerk. Wenn sie ankommt, liegt das Problem bei den Einstellungen des Formulars oder des Plugins.
Ist die Verwendung der PHP mail()-Funktion sicher?
PHP mail() hat keine Authentifizierung und kann leicht missbraucht werden. Es wird SMTP mit Authentifizierung empfohlen, das sicherer und zuverlässiger ist.