Contact Form 7 E-Mails verschwinden normalerweise, weil WordPress sie sendet, nicht wegen des Formulars selbst. Standardmäßig übergibt WordPress die Nachricht der PHP-Mail-Funktion auf Ihrem Webserver, und WP Mail SMTP sagt, dass diese Nachrichten ohne ordnungsgemäße Authentifizierung entweder im Spam landen oder verschwinden. Im Folgenden finden Sie eine Diagnose-Checkliste, sortiert von wahrscheinlichster zu unwahrscheinlichster Ursache, die SMTP-Lösung und die zugehörigen DNS-Einträge, die Spam-Filter-Falle, eine Möglichkeit, eine Kopie jeder Anfrage zu speichern, und wie Formulare auf Headless-Seiten das ganze Problem umgehen.
Warum Contact Form 7 E-Mails verschwinden
Contact Form 7 sendet E-Mails nicht selbst. Es erstellt die Nachricht und übergibt sie WordPress, das sie mit wp_mail() sendet. Von vornherein verwendet WordPress laut WP Mail SMTP-Eintrag die PHP-Mail-Funktion für alles, was von WordPress oder einem Contact-Form-Plugin generiert wird. Diese Funktion sendet die Nachricht über den Server, der Ihre Website hostet. Dieser Server kann oft nicht nachweisen, von wem die E-Mail wirklich stammt.
Empfangende Server überprüfen diesen Nachweis. Der gleiche Eintrag besagt, dass Gmail, Yahoo, Office 365 und Zoho überprüfen, ob E-Mails von einem echten Absender stammen, und wenn die Authentifizierung fehlt, landen E-Mails im Spam oder verschwinden. Es wird auch behauptet, dass die meisten WordPress-Hosting-Unternehmen ihre Server nicht ordnungsgemäß für PHP-Mail konfiguriert haben. Behandeln Sie dies als Herstellerangabe, da der Anbieter die Lösung verkauft, und als allgemeines Muster, nicht als Urteil über einen bestimmten Host. Viele Hosts handhaben E-Mails perfekt.
Das Forum-Feedback deutet in die gleiche Richtung. In einem Support-Thread von Mai 2024 war die Interpretation eines Moderators, dass WordPress E-Mails wahrscheinlich direkt ohne Authentifizierung sendet, und der Mail-Server erkannte dies und klassifizierte sie als Spam. Die Person, die die Frage gestellt hatte, hatte die Absenderadresse bereits geändert, sie als VIP markiert und eine Mail-Regel geschrieben. Immer noch Junk. Das sagt Ihnen etwas: Wenn Ihre eigenen Postfachregeln nicht helfen, liegt der Fehler upstream von Ihrem Postfach.
Ein weiterer Datenpunkt. Contact Form 7 zeigt 10+ Millionen aktive Installationen in seinem WordPress.org-Eintrag. Ein anderes Plugin-Eintrag sagt mehr als 5 Millionen, also sind sich die Quellen über die Zahl uneinig, aber auf jeden Fall ist es eine große Installationsbasis. Das bedeutet, der gleiche Fehler wird auf hundert verschiedene Arten gemeldet.
Schnelle Überprüfungen, bevor Sie etwas anderes anfassen
Verbringen Sie fünf Minuten hier, bevor Sie auch nur einen DNS-Eintrag lesen.
Lesen Sie die Antwortnachricht
Contact Form 7s eigene FAQ ist deutlich: Ein roter Rahmen bedeutet, dass das Plugin versucht hat, mit wp_mail() zu senden, und es ist fehlgeschlagen, und Sie müssen den eigentlichen Grund finden. Die gleiche Seite behandelt den umgekehrten Fall, ein grünes „Danke für Ihre Nachricht. Sie wurde versendet." wo die E-Mail nie ankommt. Es gibt auch eine Besonderheit: Die Standardnachricht „Es gab einen Fehler beim Versuch, Ihre Nachricht zu senden." erscheint sowohl, wenn der Versand aus irgendeinem Grund fehlgeschlagen ist, als auch wenn Spam-Aktivität erkannt wurde. Dieser Satz allein kann Ihnen nicht sagen, welches Problem Sie haben.
Überprüfen Sie die Mail-Registerkarte
Öffnen Sie Kontakt, wählen Sie das Formular, und öffnen Sie dann die Mail-Registerkarte. Zwei Felder sind am wichtigsten. Die To-Adresse muss ein Postfach sein, das Sie tatsächlich lesen, ohne Tippfehler. Die From-Adresse sollte Ihre eigene Domäne verwenden. Eine From-Adresse, die die E-Mail des Besuchers verwendet, sieht für einen empfangenden Server wie Fälschung aus, weil sie technisch gesehen eine ist. Geben Sie stattdessen die Adresse des Besuchers in einen Reply-To-Header ein, damit Sie immer noch antworten können.
Suchen Sie in Spam, dann denken Sie über das Timing nach
Überprüfen Sie den Junk-Ordner des empfangenden Postfachs und alle Filterregeln dafür. Wenn die Nachrichten dort sind, haben Sie ein Zustellbarkeitsproblem statt eines Zustellungsproblems. Das benötigt eine andere Lösung.
Die Diagnose-Checkliste, wahrscheinlichste Ursache zuerst
- Die Mail-Registerkarte ist falsch. Überprüfung: To-Adresse, From-Adresse, ein Tippfehler. Behebung: Verwenden Sie eine echte Adresse auf Ihrer Domäne in From, und verschieben Sie die Besucheradresse zu Reply-To.
- Die Nachricht ist im Junk. Überprüfung: Spam-Ordner, Quarantäne, Regeln für gemeinsame Postfächer. Behebung: Falls dort vorhanden, gehen Sie zu Schritt 4. Das Markieren von Absendern als sicher funktioniert selten bei unauthentifizierter E-Mail.
- Das Formular zeigt einen roten Rahmen. Überprüfung: Die Antwortnachricht und Contact Form 7s FAQ-Eintrag dazu. Behebung: Das bedeutet,
wp_mail()ist fehlgeschlagen, also liegt das Problem bei der Mail-Konfiguration der Website. Gehen Sie zu Schritt 4. - WordPress sendet per PHP-Mail ohne Authentifizierung. Überprüfung: Verwenden Sie überhaupt ein SMTP-Plugin oder einen Mail-Service? Behebung: Installieren Sie einen und senden Sie eine Test-E-Mail (nächster Abschnitt).
- DNS-Einträge fehlen oder sind falsch. Überprüfung: SPF, DKIM und DMARC auf der sendenden Domäne. Behebung: Fügen Sie die Einträge hinzu, die Ihr Mail-Provider bereitstellt.
- Ein Spam-Filter lehnt echte Nachrichten ab. Überprüfung: Deaktivieren Sie vorübergehend das Captcha oder die Akismet-Integration und senden Sie erneut. Behebung: Passen Sie die Integration an, lassen Sie das Formular nicht ungeschützt.
- Etwas anderes auf der Website behindert die Funktion. Überprüfung: Wechsel zu einem Standard-Theme, deaktiviere andere Plugins, leere Caches. Lösung: Aktiviere sie nacheinander wieder, bis es erneut bricht.
- Ein kürzliches Update hat etwas verändert. Überprüfung: Deine PHP-Version gegen die vom Plugin angegebene Anforderung. Lösung: siehe die FAQ unten.
Die meisten Menschen halten bei Schritt 4 an. Das ist meist korrekt. Die Checkliste hat eine Ordnung aus gutem Grund: Kaufe keinen Mail-Service, um einen Tippfehler zu beheben.
Die zuverlässige Lösung: authentifizierter Versand und DNS-Einträge
Die zuverlässige Reparatur ist, die Verwendung von unauthentifiziertem PHP mail zu beenden. Versende über SMTP oder über einen Transaktions-Email-Service, einen Service, der für den Versand automatisierter Mails wie Formularbenachrichtigungen gebaut ist, mit einem Plugin wie WP Mail SMTP. Nach seiner Beschreibung konfiguriert das Plugin wp_mail() neu, um SMTP-Host-Anmeldedaten oder einen Mail-Provider zu nutzen. Mit den von ihm empfohlenen Provider-Integrationen verläuft die Mail über die direkte API des Providers, die laut Beschreibung auch funktioniert, wenn dein Webhost SMTP-Ports blockiert.

Ein paar ehrliche Anmerkungen zum Plugin:
- Mailer-Auswahl. Die Beschreibung kennzeichnet SendLayer, SMTP.com und Brevo als empfohlen. Microsoft One-Click Setup, Amazon SES und Zoho Mail sind als Pro markiert. Gmail SMTP, Mailgun, SendGrid, Postmark und andere sind in der kostenlosen Liste.
- Kostenlose Kontingente. Die Beschreibung gibt 300 kostenlose E-Mails pro Tag für Brevo und bis zu 100 pro Tag für SendGrid an. Das sind Zahlen, die der Plugin-Anbieter angibt, also überprüfe jede Provider-Seite selbst, bevor du dich darauf verlässt. Ein Kontaktformular auf einer kleinen Website versendet eine Handvoll Nachrichten, daher wirken sich Limits selten aus, aber du solltest wissen, wo sie liegen.
- Interessenskonflikt. Es wird vom Team hinter WPForms betrieben und gepflegt, einem konkurrierenden Form-Builder. Das hindert es nicht daran, mit Contact Form 7 zu funktionieren, und das ist das Thema des eigenen Contact Form 7-Artikels des Anbieters. Andere SMTP-Plugins existieren, wenn du es lieber nicht verwenden möchtest.
- Protokollierung ist bezahlt. E-Mail-Protokollierung, Wiederversand, Benachrichtigungen und eine Backup-Verbindung sind als Pro-Funktionen aufgelistet, ein separates bezahltes Plugin. Die kostenlose Version versendet. Sie führt keinen Verlauf.
Die Einrichtung ist einfach. Wähle einen Mailer, stelle die Von-Adresse auf eine einer Domain, die du kontrollierst, versende die Test-Email vom Plugin, dann sende dein echtes Formular ab. Das Plugin führt auch eine Domain-Prüfung durch: Wenn du eine Test-Email versendest und am Ende des Setup-Assistenten, versendet es die Von-Adresse, den Mailer und die Versand-Domain, um die DNS-Einträge der Domain zu überprüfen, und Werkzeuge > Website-Zustand zeigt das letzte Ergebnis. Wisse, wohin deine Daten gehen, wenn dir das wichtig ist.
SPF, DKIM und DMARC in einfachen Worten
Das sind drei DNS-Einträge, und sie sind das, was aus „versendet" „vertraut" macht.
- SPF listet auf, welche Server Mail für deine Domain versenden dürfen.
- DKIM fügt jeder Nachricht eine Signatur hinzu, die gegen einen öffentlichen Schlüssel überprüft wird, den du in DNS veröffentlichst.
- DMARC teilt empfangenden Servern mit, was sie tun sollen, wenn diese Überprüfungen fehlschlagen, und wohin sie Berichte senden sollen.
Der Setup-Bildschirm deines Mail-Providers zeigt dir die exakten Einträge zum Einfügen, daher werde ich hier keine erfinden. Ein praktischer Punkt: Wenn deine Domain bereits einen SPF-Eintrag hat, bearbeite ihn, statt einen zweiten hinzuzufügen. Das DNS lebt dort, wohin deine Nameserver der Domain zeigen, was dein Registrar, dein Host oder ein Service wie Cloudflare sein kann. Unsicher? Schau dir zuerst die Nameserver an. Das erspart viel Bearbeitung im falschen Dashboard.
Spam-Filter und Falsch-Positive
Contact Form 7 kann mit Spam-Schutz wie reCAPTCHA und Akismet gekoppelt werden. Das ist sinnvoll, wirklich, ein öffentliches Formular ohne Schutz zieht schnell Müll an. Aber jeder Filter, der Einträge bewertet, kann einen echten falsch bewerten, und dann wird deine Anfrage stillschweigend gelöscht. Erinnere dich an den FAQ-Punkt von früher: derselbe Fehler auf dem Bildschirm deckt sowohl Mail-Fehler als auch Spam-Erkennung ab.
Der Test ist einfach. Schalte die Integration für einen Moment aus, sende eine realistische Nachricht von einem anderen Gerät, und schau, ob sie ankommt. Wenn ja, war der Filter das Problem. Lockere ihn auf, lösche ihn nicht.
Hier sind die Orte, an denen eine echte Nachricht verloren gehen kann:
- Der Captcha bewertet den Besucher als Bot, und das Formular lehnt ihn ab
- Akismet markiert die Nachricht vor dem Mail-Schritt als Spam
- Ein Caching- oder Optimierungs-Plugin unterbricht das Skript, das das Formular benötigt
- Das Empfangspostfach filtert es nach der Zustellung heraus.
Manchmal ist es keines davon. Ein Forumthread beschreibt den Fehler „Failed to send your message. Please try later or contact the administrator by another method." mit einem AJAX-Status von 200 und funktionierendem reCAPTCHA v3. Der Plugin-Autor Takayuki Miyoshi fragte nach dem Theme und Plugins, schlug vor, zum Standard-Theme zu wechseln, andere Plugins zu deaktivieren und Caches zu leeren, und merkte an, dass ein Fehler mit aktiviertem oder deaktiviertem SMTP darauf hindeutet, dass SMTP wahrscheinlich nicht die Ursache ist. Langweiliger Rat. Oft der richtige Rat.
Bewahre eine Kopie jeder Einsendung auf.
Die meisten Webseitenbetreiber lernen das zu spät: E-Mail ist eine Benachrichtigung, keine Aufzeichnung. Wenn die Mail fehlschlägt, ist die Anfrage weg, und der Besucher sah eine höfliche „gesendet"-Nachricht. Du wirst es nie erfahren.
Die Lösung: Jede Einsendung zusätzlich in der Datenbank speichern. Viele Add-ons für Contact Form 7 machen genau das. Als ein Beispiel führt das Plugin Contact Form to Any API das Speichern von Contact-Form-7-Einsendungen in der Datenbank auf, mit Export als CSV, Excel, PDF und Druckausgabe. Es kann Einsendungen außerdem per POST oder GET an externe APIs senden, etwa an ein CRM, mit bis zu 5 API-Verbindungen. Die Version 3.0.6 vom 8. Juli 2026 brachte E-Mail-Benachrichtigungen bei fehlgeschlagenen API-Anfragen und eine automatische Protokollbereinigung mit einer Standardfrist von 90 Tagen.
Dieses letzte Detail ist eine nützliche Erinnerung. Gespeicherte Anfragen sind personenbezogene Daten, also entscheide, wie lange du sie aufbewahrst. Ein gespeicherter Eintrag hilft nur, wenn jemand die Liste ab und zu öffnet, also stelle eine regelmäßige Überprüfung in den Kalender. Das kostenpflichtige WP Mail SMTP Pro Protokoll von früher protokolliert versendete E-Mails, was praktisch ist, aber es ist nicht dasselbe, wie das zu speichern, was der Besucher eingereicht hat.
Wie Headless- und Static Sites mit Formularen umgehen.
Eine statische oder Headless Site hat kein PHP und kein wp_mail(). Das Formular sendet woanders hin: an einen Endpunkt, der von einem Formulardienst wie Formspree betrieben wird, zur nativen Formularverarbeitung einer Hosting-Plattform oder zu einer Serverless Function, die du selbst schreibst. Die Einsendung wird zuerst gespeichert. E-Mail wird zu einer Benachrichtigung unter mehreren, nicht zur einzigen Kopie.
Netlify Forms ist ein klares Beispiel. Nachdem du die Formerkennung aktivierst, ermöglicht das Hinzufügen von data-netlify="true" oder einem netlify Attribut zu einem HTML-Formular, dass du Einsendungen im Netlify Site Admin Panel empfängst, ohne einen zusätzlichen API-Aufruf oder JavaScript. Einige Details aus der Dokumentation:
- Das Absenden per AJAX benötigt einen URL-codierten Body. Netlify Forms unterstützt zu diesem Zeitpunkt keine JSON-Formulardaten.
- Datei-Uploads ermöglichen eine Datei pro Feld, eine Formularanfrage mit maximal 8 MB und ein Timeout von 30 Sekunden.
- Wenn dein Formular von JavaScript oder einem Server-Framework wie Next.js gerendert wird, musst du ein HTML-Formular einbinden, das Netlify Kriterien erfüllt, denn sein Build findet Formulare durch das Parsen des HTML der Website.
Benachrichtigungen sind getrennt vom Speicher. Nach den Benachrichtigungsdokumentation können sie per E-Mail, Webhooks oder einen Slack-Arbeitsbereich gehen, für ein Formular oder alle Formulare. Standardmäßig kommen die E-Mails von formresponses@netlify.com, und Antworten gehen an diese Adresse, es sei denn, du fügst ein input namens email hinzu, das den Reply-to-Wert setzt. Gleiche Lektion wie früher: selbst hier hat eine Benachrichtigungs-E-Mail Besonderheiten, die du testen möchtest.
Wenn du entscheidest, ob ein Formular-Setup wie dieses für deine Website geeignet ist, ist der WordPress Stack Advisor ein schneller Weg, um zu sehen, wo dein aktueller Build steht.
Wenn es richtig ist, bei WordPress zu bleiben
Für die meisten kleinen Business-Websites ist es in Ordnung, zu bleiben. Ein Kontaktformular ist ein kleines Feature. Wenn du authentifizierten Versand, korrekte DNS-Einträge und eine gespeicherte Kopie jedes Eintrags hinzufügst, sind WordPress-Formulare genauso zuverlässig wie jede andere. Plattformen zu wechseln, um ein Mail-Problem zu beheben, ist wie das Auto zu ersetzen, weil die Kontrollleuchte aus ist. Wenn du dich für die breitere Frage interessierst, gibt es einen Beitrag über das Verlassen von WordPress und eine Übersicht über Alternativen, aber keiner ist ein Grund, in Eile zu sein.
FAQ
Meine SMTP-Test-E-Mail funktioniert, aber das Formular sendet immer noch nicht. Warum?
Das bedeutet, dass E-Mail deine Website verlässt, also liegt der Fehler irgendwo zwischen dem Formular und wp_mail(). Forumbenutzer berichten genau davon. Einer sagte, die SMTP-Test-E-Mail war in Ordnung, aber keine Formular sendete, und das Entfernen des Captcha half nicht. Einer berichtete, dass nach dem Routing von E-Mail durch WP Mail SMTP andere E-Mails funktionierten, Contact Form 7 aber auf drei Formularen nicht lieferte, und die erste Frage des Plugin-Autors war, wo sich das Formular auf der Website befand, siehe den Thread aus Mai 2026. Folge den Isolationsschritten: Standard-Theme, andere Plugins aus, Caches gelöscht.
Brauche ich WP Mail SMTP Pro?
Nein, nicht um die Zustellung zu beheben. Das kostenlose Plugin macht das Versenden. Pro ist ein separates kostenpflichtiges Plugin, das E-Mail-Protokollierung, Wiederversand, Benachrichtigungen und eine Backup-Verbindung hinzufügt. Es ist eine Überlegung wert, wenn du einen Bericht über Fehler möchtest, aber ein Datenbank-Add-on für die Einsendungen deckt das Risiko eines verlorenen Leads auch ab.
Meine Formulare stoppten direkt nach einem Update. Könnte es PHP sein?
Möglich. Die Plugin-Auflistung zeigt PHP 8.3 oder höher als Anforderung für Version 6.2.3. Zwei Rezensenten auf der Auflistung sagen, das Minimum stieg von 7.4 auf 8.3 in Version 6.2, und einer berichtet, dass ein automatisches Update eine Website, die PHP 8.0 lief, brach. Das sind Benutzerberichte, keine Aussagen des Unterhalters. Überprüfe deine PHP-Version in deinem Hosting-Kontrollpanel, und mache ein Backup, bevor du irgendetwas aktualisierst.
Die nützlichste Tatsache: Contact Form 7 übergibt E-Mail an WordPress, und WordPress sendet sie standardmäßig unauthentifiziert durch PHP Mail, also behebt authentifiziertes SMTP plus korrekte DNS-Einträge den üblichen Fall. Die schärfste Einschränkung ist, dass E-Mail allein nie eine Aufzeichnung ist, also speichere jede Einsendung auch ab. Wenn die Lösung nicht funktioniert, verdächtige die Umgebung des Formulars, nicht den Mail-Server.
