Skip to content

Alles für WordPress, Webentwicklung — und mehr

🔧 Contact Form 7: E-Mail-Zustellung konfigurieren und Übermittlungsfehler beheben

🔧 Contact Form 7: E-Mail-Zustellung konfigurieren und Übermittlungsfehler beheben

So konfigurieren Sie den E-Mail-Versand in Contact Form 7 und beheben Zustellprobleme

Contact Form 7 wird auf über 5 Millionen Websites eingesetzt und ist damit das beliebteste Formular-Plugin für WordPress. Ein dreifeldriges Formular ist in wenigen Minuten eingerichtet, doch wenn die E-Mails nicht mehr ankommen, beginnt der Ärger: Website-Betreiber verlieren Leads, haben keine Ahnung, woran es liegt, und versinken in Forenthreads.

Das Problem liegt fast nie am Plugin selbst. CF7 übergibt die E-Mail an die Funktion wp_mail(), die sie an Ihren Server weiterreicht. Was ab diesem Punkt passiert, hängt von Ihrem Hosting, den PHP-Einstellungen, aktiven Plugins und einem Dutzend weiterer Faktoren ab. Eine deaktivierte REST-API oder ein falsches „From"-Feld genügen, und das Formular funktioniert, aber es kommen keine E-Mails durch.

Wir haben eine Schritt-für-Schritt-Anleitung zur Konfiguration der CF7-E-Mail-Vorlage zusammengestellt und alle häufigen Ursachen für Zustellfehler analysiert, mit konkreten, auf Dutzenden von Websites getesteten Lösungen.

💡 Kurzüberblick:

  • Ausfüllen der Felder „An", „Von" und „Betreff" in den E-Mail-Einstellungen
  • Kopieren einer fertigen HTML-Vorlage für den E-Mail-Text
  • Prüfung der Hauptgründe, warum E-Mails nicht versendet werden
  • SMTP für zuverlässige Zustellung einrichten

Konfiguration der E-Mail-Vorlage: Schritt für Schritt

Öffnen Sie Ihr Formular im Admin-Bereich: Contact Form → wählen Sie Ihr Formular → Tab „Mail". Hier setzt CF7 die E-Mail aus drei Teilen zusammen: Header, Betreff und Nachrichtentext. Ein Fehler in einem dieser Felder verhindert die Zustellung, gehen wir sie also der Reihe nach durch.

An, Von und Betreff

An ist Ihre geschäftliche E-Mail-Adresse, an die die Anfragen gesendet werden. Zum Beispiel [email protected] oder eine Gmail-Adresse, falls Sie ein SMTP-Plugin verwenden.

Von unterliegt einer entscheidenden Regel: Die Absenderdomain muss mit der Domain Ihrer Website übereinstimmen. Die meisten Hoster weisen E-Mails zurück, wenn das „From"-Feld [email protected] enthält, während die Website unter mysite.com läuft. Verwenden Sie [email protected]; das Postfach muss nicht wirklich existieren, das ist in Ordnung. Der Mailserver prüft die Domain, nicht ob die Adresse echt ist.

Betreff kann CF7-Makros für dynamische Daten enthalten:

1[_site_title]Form "Contact Form"

[_site_title] fügt automatisch Ihren Seitennamen aus den WordPress-Einstellungen ein. So sehen Sie sofort, von welchem Projekt die Anfrage stammt.

Zusätzliche Header: Lassen Sie „Reply-to" unverändert; CF7 setzt automatisch die E-Mail aus dem Formularfeld ein, das Sie im E-Mail-Text angeben.

E-Mail-Text: HTML-Vorlage

Die Standard-E-Mail von CF7 ist reiner Text mit Feld-Tags. Sie wirkt billig und ist schwer lesbar. Hier ist die Vorlage, die wir in all unseren Projekten verwenden, mit Logo, ordentlichem Layout und klickbaren E-Mail-/Telefon-Links:

1<img src="https://YOUR_DOMAIN.COM/wp-content/uploads/2024/logo-150x150.png"
2 style="max-width: 150px !important;">
3
4<h3>The user submitted the following information:</h3>
5
6<p><b>Name:</b> [text-59]</p>
7<p><b>E-mail:</b> <a href="mailto:[Email]">[Email]</a></p>
8<p><b>Phone:</b> <a href="tel:[tel-116]">[tel-116]</a></p>
9<p><b>Message:</b> [textarea-102]</p>
10
11<p>Message sent from [_site_title] ([_site_url])</p>

Wichtige Punkte: Das Logo sollte quadratisch und kompakt sein (etwa 150 px pro Seite), sonst wird es in E-Mail-Clients zerschossen. Die Makros in eckigen Klammern ([text-59], [Email]) sind Ihre Formularfeld-Tags; ersetzen Sie sie mit Ihren eigenen Namen aus dem Tab „Formular". Und stellen Sie sicher, dass Sie das Kästchen „HTML-Inhaltstyp verwenden" unterhalb des Vorlagen-Editors aktivieren, sonst kommen die HTML-Tags als reiner Text an.

HTML-Inhaltstyp-Checkbox in CF7

6 Gründe, warum E-Mails nicht versendet werden, und wie Sie sie beheben

1. Falsches „From"-Feld

Der häufigste Fehler: Das „From"-Feld enthält die Kunden-E-Mail aus dem Formular, [Email]. Der empfangende Server sieht eine E-Mail von einer gmail.com-Domain, die von Ihrem Hosting aus versendet wurde, und blockiert sie als Spoofing. Lösung: „From" muss immer eine Adresse Ihrer Website-Domain sein. Setzen Sie die Kunden-E-Mail über einen zusätzlichen Header in Reply-to:

1Reply-To: [Email]

2. Konflikte mit Sicherheits-Plugins

Plugins wie Wordfence, iThemes Security (jetzt Solid Security) und All-In-One Security können ausgehende WordPress-HTTP-Anfragen blockieren, einschließlich des E-Mail-Versands. Die Diagnose ist einfach: Deaktivieren Sie alle Plugins außer Contact Form 7 und testen Sie das Formular. Funktioniert es, aktivieren Sie die Plugins nacheinander, um den Übeltäter zu finden.

3. REST-API ist deaktiviert

Contact Form 7 nutzt die WordPress REST-API, um Formulare per AJAX zu übermitteln. Optimierungs-Plugins wie Clearfy Cache (Hinweis: Stand Oktober 2025 wurde das Projekt von Super Page Cache übernommen und wird nicht mehr eigenständig weiterentwickelt; aktuellen Nutzern wird die Migration zu Super Page Cache empfohlen) können die REST-API deaktivieren, um die Website zu beschleunigen. Prüfen Sie die Einstellungen Ihres Optimierers: Der REST-API-Schalter sollte auf „Aus" stehen, was bedeutet, dass die REST-API aktiviert ist und funktioniert.

4. Hosting blockiert die mail()-Funktion

Bei günstigen Hosting-Angeboten ist die PHP-Funktion mail() oft deaktiviert oder eingeschränkt. Contact Form 7 versendet E-Mails standardmäßig darüber. Kontaktieren Sie den Support Ihres Hosters und fragen Sie, ob mail() in Ihrem Tarif erlaubt ist. Falls nicht, steigen Sie auf SMTP um (siehe Abschnitt unten); das löst das Problem vollständig.

5. E-Mails landen im Spam

Selbst wenn die E-Mail versendet wurde, kann Gmail oder der Maildienst Ihres Hosters sie im Spam ablegen. Gründe sind unter anderem: fehlende SPF/DKIM-Einträge für die Domain, ein „verdächtiger" From-Header, HTML ohne Textteil. Lösung: ein SMTP-Plugin, das über einen externen Dienst versendet (Gmail API, Mailgun, SendGrid). Diese signieren jede E-Mail mit einer DKIM-Signatur und nutzen seriöse SMTP-Server, was die Zustellbarkeit auf nahezu 100% bringt.

6. Empfindlichkeit gegenüber PHP- und WordPress-Versionen

CF7 wird aktiv aktualisiert (die aktuelle Version finden Sie auf wordpress.org; Stand Mitte 2026 ist es der 6.x-Zweig, der auf PHP 7.4 und höher läuft). Wenn Ihr Hosting mit veraltetem PHP 5.6 läuft oder Sie umgekehrt experimentelles PHP 8.4 aktiviert haben, ohne die Kompatibilität zu prüfen, kann der E-Mail-Versand stillschweigend fehlschlagen. Bleiben Sie bei PHP 8.1-8.2; das ist der optimale Bereich.

SMTP einrichten: Das Zustellproblem ein für alle Mal lösen

SMTP ist ein Protokoll, das E-Mails nicht über die mail()-Funktion Ihres Servers, sondern über einen vollwertigen Maildienst überträgt. Für WordPress gibt es ein Dutzend Plugins, die wp_mail() abfangen und E-Mails über einen externen SMTP-Server leiten.

Was Sie wählen sollten:

  • Gmail API: kostenlos bis zu 500 E-Mails pro Tag über Google Workspace oder ein privates Gmail-Konto. Vorteile: exzellente Zustellbarkeit. Nachteile: Sie müssen ein Projekt in der Google Cloud Console anlegen und OAuth-Schlüssel beziehen.
  • Brevo (ehemals Sendinblue): 300 kostenlose E-Mails pro Tag, einfaches SMTP mit Benutzername und Passwort. Kein OAuth erforderlich.
  • Mailgun: 100 kostenlose E-Mails pro Tag, API-Schlüssel holen und fertig. Für Entwickler.

Installieren Sie ein beliebiges SMTP-Plugin (WP Mail SMTP, Post SMTP, FluentSMTP; alle sind kostenlos im WordPress-Repository), hinterlegen Sie die Zugangsdaten Ihres Anbieters, und Sie benötigen die mail()-Funktion nicht mehr. CF7 arbeitet wie gewohnt weiter, aber die E-Mails gehen über einen zuverlässigen Kanal.

CSS und benutzerdefinierte Schriftarten in CF7-E-Mails

Wenn Sie nicht nur Kontaktanfragen versenden, sondern beispielsweise Auftragsbestätigungen mit kurzen Produktdetails, ist es sinnvoll, die E-Mail zu gestalten. CSS in E-Mails funktioniert über Inline-Styles (style=""); E-Mail-Clients ignorieren externe Stylesheets. Hier ein Beispiel für eine gestaltete Vorlage:

1<img src="https://YOUR_DOMAIN.COM/logo.png"
2 style="max-width: 150px !important;">
3
4<h2 style="font-family: Arial, sans-serif; color: #333;">
5 The user selected a product:
6</h2>
7<h2 style="font-family: Arial, sans-serif;">[hidden-120]</h2>
8
9<hr style="border: 1px solid #eee;">
10
11<h3 style="font-family: Arial, sans-serif; color: #555;">
12 The user submitted the following information:
13</h3>
14
15<p style="font-size: 14px;"><b>Name:</b> [text-59]</p>
16<p style="font-size: 14px;"><b>Phone:</b> <a href="tel:[tel-116]">[tel-116]</a></p>
17<p style="font-size: 14px;"><b>Email:</b> [Email]</p>
18
19<p style="color: #999; font-size: 12px;">
20 Message sent from <b>[_site_title] ([_site_url])</b>
21</p>

Es gelten dieselben Regeln: Logo quadratisch, HTML-Format-Kästchen aktiviert, Makros durch Ihre eigenen ersetzt. Benutzerdefinierte Schriftarten von Google Fonts funktionieren in E-Mails nicht; verwenden Sie System-Schriftarten-Stacks (Arial, Helvetica, sans-serif).

⁉️🤔 Häufig gestellte Fragen

Warum zeigt CF7 „Nachricht gesendet" an, aber es kommt keine E-Mail?

CF7 ist für das Sammeln der Daten und deren Übergabe an WordPress zuständig, nicht für die endgültige Zustellung. Die Erfolgsmeldung bedeutet, dass die AJAX-Anfrage fehlerfrei abgeschlossen wurde. Der eigentliche E-Mail-Versand erfolgt im Hintergrund über wp_mail(), und wenn in diesem Schritt etwas schiefgeht (Hosting blockiert mail(), die From-Adresse hat die Validierung nicht bestanden, die E-Mail ging in den Spam), zeigt CF7 keinen Fehler an. Deshalb sollten Sie das Formular nach der Konfiguration immer mit einer echten Mailbox testen.

Ist ein SMTP-Plugin zwingend erforderlich?

Nicht zwingend, aber dringend empfohlen. Ohne SMTP werden Ihre E-Mails von der PHP-Funktion mail() versendet, die den Absender nicht authentifiziert, kein DKIM signiert und oft von Spam-Filtern blockiert wird. Ein SMTP-Plugin fügt eine Authentifizierung hinzu und verbessert die Zustellbarkeit drastisch. In der Praxis haben wir Dutzende von Websites gesehen, bei denen das Formular „funktionierte", die E-Mails aber im Spam landeten oder gar nicht ankamen. Nach der Aktivierung von SMTP über Post SMTP oder FluentSMTP war das Problem in 5 Minuten behoben.

Was tun, wenn CF7 nach einem WordPress-Update nicht mehr funktioniert?

Prüfen Sie zuerst Ihre PHP-Version; CF7 benötigt PHP 7.4 oder höher (überprüfen Sie dies in der offiziellen Dokumentation). Deaktivieren Sie dann Caching- und Optimierungs-Plugins: Diese zerstören oft die REST-API, wenn der Core aktualisiert wird. Wenn das nicht hilft, wechseln Sie vorübergehend zu einem Standard-WordPress-Theme und testen Sie das Formular. In den meisten Fällen handelt es sich um einen Konflikt mit einem Caching- oder Sicherheits-Plugin, das noch nicht an die neue Core-Version angepasst wurde.

Wie überprüfe ich, ob die REST-API funktioniert?

Öffnen Sie https://your-site.com/wp-json/ in Ihrem Browser. Wenn Sie JSON mit einer Liste verfügbarer Endpunkte sehen, ist die REST-API aktiv. Erhalten Sie einen 404-Fehler oder eine leere Seite, wurde die REST-API von einem Optimierungs- oder Sicherheits-Plugin deaktiviert. Dies ist die schnellste Diagnosemethode: Liefert der Endpunkt JSON zurück, hat CF7 alles, was es zum Funktionieren benötigt. Suchen Sie nach REST-API-Einstellungen in Plugins wie Clearfy, Perfmatters, WP-Optimize oder in Sicherheitslösungen wie Wordfence.

Kann ich mit CF7 E-Mails mit Anhängen versenden?

Ja, CF7 unterstützt Datei-Uploads über das Feld [file]. Geben Sie in den E-Mail-Einstellungen im Feld „Anhänge" das Makro für dieses Feld ein, und die Datei wird an die E-Mail angehängt. Die meisten Hoster begrenzen die Anhangsgröße über upload_max_filesize in PHP (normalerweise 2-8 MB). Verwenden Sie für mehrere Uploads separate Felder. Wenn E-Mails mit Anhängen nicht versendet werden, das Formular ohne Anhänge aber funktioniert, liegt das Problem an der Größenbeschränkung; reduzieren Sie die Dateigrößen oder bitten Sie Ihren Hoster, das Limit zu erhöhen.

Was Sie 2026 verwenden sollten: CF7 + SMTP oder Alternativen?

Contact Form 7 bleibt das beste kostenlose Plugin für WordPress-Formulare, wenn Sie Anpassungsmöglichkeiten benötigen und nicht davor zurückschrecken, sich in die Einstellungen einzuarbeiten. Aber das Problem der E-Mail-Zustellung ist in der WordPress-Architektur selbst angelegt: Die Funktion mail() ist inhärent unzuverlässig.

Die Formel für 2026 lautet daher: Contact Form 7 + SMTP-Plugin. Installieren Sie FluentSMTP (kostenlos, leichtgewichtig, keine Werbung im Admin) oder Post SMTP und konfigurieren Sie den Versand über Gmail API, Brevo oder Mailgun. Diese beiden Komponenten zusammen bieten Ihnen: unbegrenzte Formularanpassung + Zustellbarkeit auf Unternehmensniveau. Kosten: 0 $, Einrichtungszeit: 10 Minuten.

Wenn Sie ein Formular wünschen, das ohne jeden Aufwand „out of the box" funktioniert, ziehen Sie WPForms oder Ninja Forms in Betracht. Diese sind kostenpflichtig, aber der SMTP-Versand ist standardmäßig über ihre eigenen Server integriert. Die Wahl liegt bei Ihnen: die Flexibilität von CF7 oder die Einfachheit kommerzieller Lösungen.

🔗 Contact Form 7 auf WordPress.org | 🔗 CF7-Dokumentation