WordPress an sich ist schnell aufgesetzt und wer z.B. ein Kontaktformular online stellen will, kommt schnell mit Plugins wie Contact Form 7 ans Ziel. Nur was tun, wenn E-Mails von WordPress nicht beim Empfänger ankommen wollen?
Inhaltsverzeichnis:
Wieso werden E-Mails überhaupt als SPAM deklariert und kommen nicht an?
Stimmen Absender-E-Mail-Adresse nicht mit dem sogenannten Return-Path überein, ist das für E-Mail-Server ein SPAM Signal. Alle möglichen SPAM-Signale, wie z.B. Einträge der Server-IP in Blacklists oder unseriöse Wörter im E-Mail-Inhalt werden mit einem internen Score bewertet. Kommt der SPAM-Filter bei der Bewertung über einen bestimmten Wert, wird die E-Mail in SPAM verschoben oder gleich direkt abgelehnt.
Der SPAM-Filter von E-Mail-Providern wie web.de, GMX, GMail, Outlook.com, etc. prüft, ob der E-Mail-Absender (From-Adresse) über den verschickt wurde, übereinstimmt mit dem Return-Path im Header der Mail. Der Return-Path gibt an, an welche physische Maschine die Antwort geschickt werden soll. Stimmen Absender-Adresse und Return-Path nicht überein, lehnen viele E-Mail-Filter die Annahme ab. Die Lösung: Der Return-Path muss mit der Absender-Adresse übereinstimmen.
Warum ist das so ein Problem, wenn E-Mail-Adresse und Return-Path nicht übereinstimmen?
Die Absender-Adresse kann beliebig festgelegt werden. Man könnte auch die E-Mail-Adresse des Nachbarn als Absender-Adresse angeben. Die From-Adresse sagt also nichts darüber aus, ob der Absender auch der Besitzer der Domain ist. Stimmen aber die Absender-Adresse und der Return-Path überein, dann kann der SPAM-Filter sicherer sein, dass der Absender auch die Domain besitzt, weil die Antworten auf diese Nachrichten direkt auf der korrekten Domain auflaufen.
Ein einfaches Beispiel: Wenn ich unter einer E-Mail-Adresse der deutschen Telekom eine falsche Rechnung verschicke und Antworten darauf auf meinen privaten Server in China schicke, dann wird ein SPAM-Filter zurecht misstrauisch. Stimmt der Return-Path des Servers aber mit einem Telekom-Server überein, sieht das Ganze schon viel seriöser aus.
Wie ist das mit dem Return-Path bei WordPress?
E-Mails, die von WordPress ausgehen, werden in der Regel von der E-Mail-Adresse aus geschickt, die unter Einstellungen->Allgemein zu finden ist. Bei bestimmten Plugins wie Contact Form 7 lässt sich z.B. pro Formular die Absender-Adresse separat einstellen. Der Return-Path ist aber nicht zwangsweise diese E-Mail-Adresse, da der Server auf dem die Webseite liegt, oft in einer Serverfarm beheimatet ist. Hier könnte der Return-Path z.B. folgend lauten:
Return-Path: <apache@web-php55-l01.hosting.webhoster.de>
Wie stelle ich den Return-Path in WP korrekt ein?
Damit die Absenderadresse mit dem Return Path übereinstimmt, hat man die Möglichkeit mit Plugins zu arbeiten.
- Easy WP SMTP: Bei diesem Plugin wird ein fixer SMTP E-Mail-Server und Ihre Zugangsdaten dazu eingetragen. Gerade größere Unternehmen haben oft eigene E-Mail-Server und können diese als Absender nutzen. Diese E-Mail-Server hören auch auf die Absender-Adresse, so dass ein Check des SPAM-Filters über den Return-Path positiv beantwortet wird. Auch E-Mail-Provider wie Outlook.com bieten SMTP Zugänge, die hier genutzt werden können.
- Alternativ kann man folgendes Plugin erstellen, um den Return-Path korrekt auszuliefern. Es passt den Return-Path automatisch der From-Adresse an:
<?php /* Plugin Name: E-Mail Return Path Fix Author: Abdussamad Abdurrazzaq */ class email_return_path { function __construct() { add_action( 'phpmailer_init', array( $this, 'fix' ) ); } function fix( $phpmailer ) { $phpmailer->Sender = $phpmailer->From; } } new email_return_path();
Wer nicht weiß, wie man dieses Plugin selbst einrichtet, kann es auch hier herunterladen und dann über das WP Dashboard installieren.
Weitere Maßnahmen: SPF, DKIM und DMARC
Der Return-Path ist wichtig, um Zuverlässigkeit in der Zustellbarkeit zu erreichen. Auch das Nutzen es SMTP Servers ist positiv zu werten. Heutzutage werden aber weitere Anforderungen an den Versand von Mails gestellt. Werden diese Anforderungen nicht erfüllt, landen die Mails weiterhin in SPAM oder werden schlichtweg abgeblockt. Seit 2024 werden von den meisten Mail-Providern bestimmte DNS Einträge gefordert:
- SPF
- DKIM
- DMARC
Hier eine einfache Erklärung, warum sie wichtig sind und wie du sie einrichtest:
SPF (Sender Policy Framework) – Wer darf für deine Domain Mails senden?
SPF sorgt dafür, dass nur bestimmte Server berechtigt sind, E-Mails im Namen deiner Domain zu versenden. Ohne SPF kann jeder beliebige Server so tun, als käme die Mail von dir (Spoofing).
Typischer SPF-Eintrag für eine Website mit SMTP-Versand über einen Mail-Provider (z. B. SMTP-Plugin in WordPress, z. B. über SMTP von Strato, Ionos oder Mailgun):
v=spf1 include:spf.provider.de -all
Erklärung:
v=spf1
Start des SPF-Eintrags
include:spf.provider.de
Erlaubt dem Mailserver des Providers, Mails für deine Domain zu senden
-all
Alle anderen Server sind nicht erlaubt.
—
DKIM (DomainKeys Identified Mail) – Ist die Mail wirklich von dir?
DKIM fügt eine digitale Signatur zur Mail hinzu, die belegt, dass sie unverändert von deiner Domain stammt.
Typischer DKIM-Eintrag:
DKIM wird vom E-Mail-Provider generiert, und du bekommst einen DNS-Text-Eintrag wie diesen:
default._domainkey.deinedomain.de TXT "v=DKIM1; k=rsa; p=MII...sehr_langer_Schlüssel..."
Erklärung:
default._domainkey
Der DKIM-Selector (kann unterschiedlich sein)
v=DKIM1; k=rsa; p=...
Die DKIM-Signatur.
Der DKIM-Schlüssel sorgt dafür, dass eine E-Mail nachweislich von deiner Domain stammt und auf dem Weg nicht verändert wurde.
Konkret passiert Folgendes:
- Beim Versenden signiert der Mailserver die E-Mail mit einem privaten Schlüssel.
- Der Empfänger-Server prüft die Signatur mit dem öffentlichen Schlüssel, der in deinem DNS-Eintrag hinterlegt ist.
- Wenn die Signatur gültig ist, wird die Mail als echt anerkannt. Falls nicht, kann sie als verdächtig markiert oder abgelehnt werden.
Wo bekommst du den DKIM-Eintrag?
Meistens stellt dein E-Mail-Provider diesen bereit. Suche in den Einstellungen deines Mail-Hosters nach „DKIM“ oder „E-Mail-Sicherheit“.
—
DMARC (Domain-based Message Authentication, Reporting & Conformance) – Was tun mit fehlerhaften Mails?
DMARC legt fest, was mit E-Mails passiert, die die SPF- oder DKIM-Prüfung nicht bestehen. Es kann helfen, gefälschte E-Mails zu blockieren.
Ein einfacher DMARC-Eintrag:
_dmarc.deinedomain.de TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@deinedomain.de"
Erklärung:
v=DMARC1
Start des DMARC-Eintrags.
p=none
Erstmal nur überwachen (später kann „quarantine“ oder „reject“ gesetzt werden).
rua=mailto:dmarc-reports@deinedomain.de
Hierhin werden Berichte über fehlgeschlagene E-Mails geschickt.
Sobald alles korrekt läuft, kannst du p=quarantine (verdächtige Mails in Spam) oder p=reject (ablehnen) setzen.
—
Zusammenfassung: Welche DNS-Einträge brauchst du?
- SPF: Wer darf für deine Domain senden?
- DKIM: Ist die Mail wirklich von dir?
- DMARC: Was tun mit ungültigen Mails?
Diese drei Maßnahmen verbessern die Zustellbarkeit deiner WordPress-E-Mails und schützen deine Domain vor Missbrauch.
Hallo René
Ich bekomme beim einrichten die Fehlermeldung dass keine Verbindung zum smtp Server her gestellt werden kann
Gmail
Passwort habe ich überprüft
Und die smtp Einstellungen von der Website genommen
Dann scheinen die Daten vermutlich doch nicht zu stimmen.
Vielen Dank René, das hat mir sehr geholfen. Jetzt kommen die Contact Form 7 Daten auch wieder durch diverse Exchange-Server durch.
Wobei ich mich frage, ob bei kleinen Hostern die Exchange-Jungs nicht besser den Return-Pfad von der Serverfarm eintragen sollten, denn gerade bei kleinen Farmen wäre das der „perfekte“ SPAM-Schutz.
Denn seid ich das Plugin genutzt habe, kommen nun auch die Formular-Spammer perfekt durch.
Aber egal, in jedem Fall vielen Dank für Deinen Beitrag, sehr hilfreich.
Hallo, ich habe das Problem das ich immer die Meldung „Die Absender-email-adresse gehört nicht zur Domain der Website“ bekomme. Ich versuche [your-email] in die „von“ leiste einzutragen und dann bekomme ich diese Nachricht.
Das ganze Versuche ich, weil die E-Mails, die man auf der Website unter Rückruf schreibt, nicht bei uns im Büro ankommen.
Ich hoffe auf Hilfe.
LG Ludwig
Wenn die Domain xyz.de heißt, die Mailadresse aber @abc.de, dann kommt diese Meldung. Das heißt die Absenderadresse sollte die gleiche Domain haben wie die Webseite selber. Das reduziert SPAM Signale und so kommen dann die Mails besser an. Im Zweifelsfall wie beschrieben mit SMTP Plugin arbeiten.
Ich habe das Problem, dass 98% der Mails verschickt werden und nur ein paar eben nicht.
Wenn es ein generelles Problem gäbe, wäre es einfacher. So muss man schauen wo e shängt.
Trotzdem sehr informativer Artikel.
Super! Vielen dank, auch ich hatte das Problem seit längerem und nun sehr einfach gelöst. Toller Artikel!
Genau dieses Problem hatte ich schon ewig. Bei einigen Kunden hat es funktioniert bei der Registrierung und andere haben mir immer eine Mail geschrieben, dass nichts angekommen ist. Meistens waren das Apple User mit dem Programm Mail.
Ich bin überglücklich diesen Beitrag gefunden zu haben, so konnte ich dieses Problem endlich aus der Welt schaffen. KLASSE!
Sehr guter Artikel. Einfach und verständlich erklärt.