Zum Hauptinhalt springen

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.ch statt einer Gmail-Adresse aus dem Formular). Die Besucheradresse gehört in Reply-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

Quellen und Dokumentation

Schlagwörter: