Kontaktformular ausgefüllt, Anfrage abgeschickt, Bestätigungsmail bleibt aus – dieses Muster begegnet fast jedem, der eine WordPress-, Shopware- oder JTL-Shop-Seite betreibt. Meistens ist die Mail nicht verloren gegangen, sondern liegt im Spam-Ordner des Empfängers, oft unbemerkt für Wochen. Die Ursache ist fast immer technisch und lässt sich mit wenig Aufwand beheben, sobald man weiß, wo man ansetzen muss.
Warum wp_mail() der Hauptverdächtige ist
WordPress verschickt Formular-Mails standardmäßig über die PHP-Funktion wp_mail(). Diese nutzt den Mailserver des Hosting-Pakets – oft ein Shared-Server, auf dem hunderte fremde Domains gleichzeitig Mails ausliefern. Für diesen Versandweg existiert in aller Regel kein SPF-Eintrag, der die eigene Domain als Absender autorisiert, und kein DKIM-Schlüssel, der die Nachricht signiert. Empfänger wie Gmail, GMX, Web.de oder T-Online sehen also eine Mail, die angeblich von ihre-domain.de kommt, aber von einem Server verschickt wird, der dafür nicht autorisiert ist. Das ist ein klassisches Spam-Signal – unabhängig davon, wie sauber der Inhalt der Mail ist.
Der Klassiker: die falsche Absenderadresse im Formular
Ein zweiter, mindestens genauso häufiger Fehler kommt vom Formular-Plugin selbst: Viele Standardeinstellungen tragen die vom Besucher eingegebene Adresse als "From"-Header ein – schickt also jemand die Anfrage über eine Gmail-Adresse ab, sendet der eigene Server eine Mail, die vorgibt, von @gmail.com zu kommen. Für Gmail selbst ist das ein klarer Spoofing-Verdacht: Der eigene Server ist nicht berechtigt, im Namen von gmail.com-Adressen zu senden, DMARC schlägt fehl, die Mail wird aussortiert. Gerade T-Online reagiert auf solche Fehlversuche besonders konsequent, da der Spamfilter dort traditionell strenger auf Absenderreputation und Auth-Fehler achtet.
formular@ihre-domain.de), die Besucher-Adresse gehört ausschließlich in den Reply-To-Header. So bleibt die Authentifizierung sauber und ein Klick auf "Antworten" landet trotzdem beim richtigen Absender.Die Lösung: SMTP-Plugin plus eigene Domain-Authentifizierung
Der zuverlässigste Fix besteht aus zwei Teilen. Erstens: Ein SMTP-Plugin (z. B. WP Mail SMTP oder vergleichbare Lösungen) übernimmt den Versand und schickt die Formular-Mail nicht mehr über den anonymen Hosting-Mailserver, sondern über einen authentifizierten SMTP-Zugang – entweder ein eigenes Postfach oder einen Transaktionsmail-Dienst. Zweitens: Für die versendende Domain müssen SPF, DKIM und DMARC korrekt gesetzt sein, damit Empfänger den Absender überhaupt verifizieren können.
Ein SPF-Eintrag listet, welche Server im Namen der Domain senden dürfen, zum Beispiel:
v=spf1 include:_spf.ihr-smtp-anbieter.de ~allDKIM ergänzt eine kryptografische Signatur, DMARC legt fest, was mit Mails passiert, die beide Prüfungen nicht bestehen. Alle drei Einträge werden im DNS der sendenden Domain gesetzt – bei Subdomains (z. B. shop.ihre-domain.de) getrennt von der Hauptdomain, da Filter jede sendende Domain einzeln bewerten.
Nicht nur WordPress: Shopware, JTL-Shop, WooCommerce, Shopify, HubSpot
Das gleiche Grundproblem betrifft praktisch jede Plattform, die Formular- oder Transaktionsmails über den eigenen Hosting-Server statt über einen authentifizierten Versandweg schickt:
- Shopware und JTL-Shop verschicken Bestätigungs- und Kontaktmails standardmäßig über den Hosting-Server – ein externer SMTP-Connector mit eigener Domain-Authentifizierung ist für zuverlässige Zustellung praktisch Pflicht.WooCommerce nutzt intern ebenfalls
wp_mail() – ohne SMTP-Plugin gilt hier dieselbe Problematik wie bei jedem anderen WordPress-Kontaktformular.Shopify erlaubt Versand über die eigene Domain erst, nachdem die von Shopify bereitgestellten SPF/DKIM-Einträge im DNS verifiziert wurden.HubSpot verlangt für deutsche B2B-Absender ebenfalls eine verifizierte eigene Absenderdomain, bevor Marketing- und Transaktionsmails zuverlässig zugestellt werden.Vor dem Livegang testen statt im Nachhinein rätseln
Ob die Fixes tatsächlich greifen, lässt sich nicht am eigenen Postfach ablesen – Gmail, GMX, Web.de und T-Online filtern unterschiedlich streng, und ein einzelner Test sagt wenig über die Breite aus. Sinnvoller ist ein Testversand über mehrere Provider gleichzeitig: Mit dem kostenlosen Inbox-Placement-Test schicken Sie die Formular-Bestätigung an bereitgestellte Seed-Adressen bei über 20 Anbietern und sehen direkt, ob sie im Posteingang oder im Spam-Ordner landet, wie SPF, DKIM und DMARC bewertet wurden und wie die Mail im jeweiligen Postfach gerendert wird. Wer wissen möchte, wie verbreitet Auth-Probleme bei deutschen Domains generell sind, findet aktuelle Zahlen auf der Live-Auswertung unter /email-stats/.
- SMTP-Plugin installieren und mit einem authentifizierten Postfach oder Versanddienst verbinden.SPF, DKIM und DMARC für die sendende Domain (bzw. Subdomain) im DNS setzen.Formular so konfigurieren, dass die Besucher-Adresse im Reply-To statt im From steht.Testversand über den kostenlosen Inbox-Placement-Test gegen mehrere Provider prüfen.
Rechtlicher Rahmen kurz mitgedacht
Auch wenn eine Kontaktformular-Bestätigung keine Werbemail ist, gelten die allgemeinen Anforderungen des deutschen Rechts: Die DSGVO regelt die Verarbeitung der E-Mail-Adresse als personenbezogenes Datum, das TTDSG ergänzt Vorgaben für Telemedien, und jede Mail sollte den Absender eindeutig und nachvollziehbar identifizieren. Für echte Marketing-Mails an dieselben Kontakte greift zusätzlich §7 UWG mit der Pflicht zur vorherigen Einwilligung – in der Praxis über Double-Opt-in dokumentiert.