E-Mails zu neuen Bestellungen erreichten das Gmail-Postfach eines Admins nicht – sie landeten nicht einmal im Spam, sie kamen einfach nicht an. Das Frustrierende: Die WordPress-Funktion wp_mail() meldete bei jedem Versuch zuverlässig Erfolg. Damit schieden die üblichen Verdächtigen aus – ein defekter Aufruf der Mailfunktion, ein Plugin-Konflikt oder ein Serverausfall.
Warum „gesendet“ nicht „angekommen“ heißt
Wenn wp_mail() true zurückgibt, bestätigt das nur, dass die Nachricht erfolgreich an den lokalen Mailversand des Servers übergeben wurde. Es sagt nichts darüber, was danach passiert – etwa ob der empfangende Mailserver (hier Gmail) die Nachricht angenommen oder stillschweigend verworfen hat.
Der Header, der das eigentliche Problem versteckte
Die eigentliche Ursache lag in den Headern: Die in WooCommerce eingestellte Absenderadresse war eine @gmail.com-Adresse, während die Nachricht physisch vom Mailversand des Hosting-Servers verschickt wurde – nicht von Google. Die SPF-Einträge (Sender Policy Framework) von Gmail erlauben nur Googles eigener Infrastruktur, Mails zu versenden, die angeblich von einer @gmail.com-Adresse stammen. Eine Nachricht, die sich als Gmail ausgibt, aber von einem fremden Server kommt, fällt bei dieser Prüfung glatt durch – und Gmails Spamabwehr wertet ein fehlgeschlagenes SPF bei einer Nachricht, die eine eigene Adresse imitiert, als starkes Spoofing-Signal, vor allem wenn der Empfänger ebenfalls eine Gmail-Adresse hat.
Die Folge: Die Nachricht wurde stillschweigend verworfen oder als Spam gefiltert, lange bevor sie ein Postfach erreichte – genau deshalb tauchte sie nicht einmal im Spam auf.
Die Lösung in einer Zeile
Die eigene Domain des Shops hatte bereits einen gültigen SPF-Eintrag, der die Mailserver des Hosters autorisierte – er wurde nur nicht genutzt, weil die Absenderadresse auf Gmail zeigte. Die Absenderadresse der WooCommerce-E-Mails auf eine Domain umzustellen, für die der sendende Server tatsächlich autorisiert ist (orders@[storedomain].com), löste das Problem sofort: Eine Test-Bestellmail lag innerhalb einer Minute im Posteingang – ohne neues Plugin, ohne SMTP-Relay und ohne DNS-Änderungen.
Die wichtigsten Erkenntnisse
- „Die Funktion meldete Erfolg“ und „die E-Mail wurde zugestellt“ sind zwei verschiedene Aussagen – für die Diagnose der Zustellbarkeit muss man die Authentifizierung prüfen, nicht nur den Versandaufruf.
- Eine Gmail-Adresse als Absender zu verwenden, wenn die Nachricht nicht von Googles Servern kommt, ist ein nahezu sicherer Weg, am SPF zu scheitern und stillschweigend gefiltert zu werden.
- Prüfen Sie den bestehenden SPF-Eintrag der Domain, bevor Sie zu einem neuen SMTP-Plugin greifen – oft existiert die Autorisierung bereits und wird nur nicht genutzt.
Weiterlesen: was Website-Wartung wirklich umfasst, ein sporadischer 403-Fehler durch die Cache-TTL.
Stoßen Sie in Ihrem eigenen WooCommerce- oder WordPress-Adminbereich an eine ähnliche Grenze? Sprechen wir darüber – ArtinTech Solution baut genau diese Art von individuellen Shop-Tools.