SPF, DKIM und DMARC entscheiden, ob WordPress-Mails ankommen und ob Dritte die Domain fälschen können. Formulare, Passwort-Resets und Bestellbestätigungen landen oft im Spam, oder gar nicht an. Gleichzeitig können Angreifer ohne korrekte DNS-Einträge E-Mails im Namen der Domain fälschen.
Problem: PHP mail()
Standardmässig versendet WordPress über die PHP-Funktion mail() und damit über den lokalen Mailserver des Hosters, oft ohne Authentifizierung und mit schlechter Reputation. Besser:
- Versand über authentifiziertes SMTP des eigenen Mailproviders, oder
- über einen transaktionalen Dienst (z. B. Postmark, Mailgun, Brevo, Amazon SES) per API.
Plugins wie WP Mail SMTP oder FluentSMTP konfigurieren das. Zugangsdaten gehören in die wp-config.php oder Umgebungsvariablen, nicht in die Datenbank.
SPF
Legt fest, welche Server für die Domain senden dürfen:
example.ch. TXT "v=spf1 include:spf.protection.outlook.com include:spf.mtasv.net -all"
Maximal 10 DNS-Lookups. -all (hart) statt ~all, sobald alle Absender erfasst sind.
DKIM
Signiert ausgehende Mails kryptografisch. Der Mailprovider liefert den öffentlichen Schlüssel als TXT- oder CNAME-Eintrag, z. B. selector1._domainkey.example.ch.
DMARC
Verknüpft SPF und DKIM mit der sichtbaren Absenderadresse und legt fest, was mit gefälschten Mails passiert:
_dmarc.example.ch. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.ch; adkim=s; aspf=s"
Vorgehen: mit p=none starten, Reports auswerten, dann auf p=quarantine und schliesslich p=reject verschärfen. Google und Yahoo verlangen seit 2024 für Massenversender gültiges SPF, DKIM und DMARC.
WordPress-spezifisch
- Absenderadresse muss zur authentifizierten Domain passen (
wordpress@example.chstatt einer Gmail-Adresse aus dem Formular). Die Besucheradresse gehört inReply-To. - Formulare mit Spam-Schutz (Honeypot, Turnstile/reCAPTCHA) versehen, sonst wird die Domain zur Spamschleuder und verliert Reputation.
- Mail-Log aktivieren, um Zustellprobleme nachvollziehen zu können.
- Auf Staging den Versand abfangen.
Prüfen
Testmail an mail-tester.com senden oder Header einer empfangenen Mail prüfen: spf=pass, dkim=pass, dmarc=pass.
Weiterführende Artikel
- Staging-Umgebungen und Deployment-Workflows
- Shared, VPS, Managed oder Container: Hosting-Modelle im Vergleich
- Monitoring: Uptime, Logs und Integritätsprüfung