Tutorial: Mailserver in Plesk richtig aufsetzen – SPF, DKIM und DMARC Schritt für Schritt

Mails, die im Spam landen oder gar nicht ankommen, sind fast immer ein Konfigurationsproblem. Mit SPF, DKIM und DMARC bekommt man die Zustellbarkeit in den Griff. So richtet man das in Plesk sauber ein.

Voraussetzungen

  • Plesk mit aktiviertem Mailserver (Postfix + Dovecot, Standard bei Plesk Obsidian)
  • Eine Domain mit Mail-Aktivierung (Mail → Mail-Einstellungen → Mail-Dienst aktivieren)
  • Zugriff auf die DNS-Verwaltung der Domain

0. Grundlage: PTR-Record (Reverse DNS)

Bevor es an SPF & Co. geht: Der PTR-Record der Server-IP muss auf den Hostnamen zeigen (z. B. server1.example.com) und dieser Hostname per A-Record zurück auf die IP. Der PTR wird beim Hoster (nicht in Plesk) gesetzt. Ohne korrektes Reverse DNS lehnen viele Mailserver Mails direkt ab.

1. SPF einrichten

SPF legt fest, welche Server für eine Domain senden dürfen. In der DNS-Zone der Domain (in Plesk unter Websites & Domains → DNS-Einstellungen, oder beim externen DNS-Anbieter) einen TXT-Record anlegen:

example.com.  TXT  "v=spf1 a mx ip4:203.0.113.10 -all"
  • a / mx – die A- und MX-Hosts der Domain dürfen senden
  • ip4:... – die Server-IP explizit erlauben
  • -all – alle anderen ablehnen (strikt); wer vorsichtig starten will, nimmt zunächst ~all (Softfail)

Versendet zusätzlich ein Newsletter-Dienst, muss dessen Include mit hinein, z. B. include:spf.dienst.tld.

2. DKIM aktivieren

DKIM signiert ausgehende Mails kryptografisch:

  1. Websites & Domains → Domain → Mail → Mail-Einstellungen
  2. :white_check_mark: DKIM-Spam-Schutzsystem zum Signieren ausgehender E-Mail-Nachrichten verwenden aktivieren

Verwaltet Plesk das DNS der Domain, werden die nötigen Records (default._domainkey...) automatisch angelegt. Bei externem DNS zeigt Plesk den öffentlichen Schlüssel an – diesen als TXT-Record beim DNS-Anbieter eintragen.

3. DMARC setzen

DMARC sagt empfangenden Servern, was mit Mails passieren soll, die SPF/DKIM nicht bestehen – und liefert Reports. TXT-Record:

_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com; adkim=r; aspf=r"

Empfohlene Vorgehensweise:

  1. Mit p=none starten (nur beobachten, Reports auswerten)
  2. Nach ein paar Wochen auf p=quarantine erhöhen
  3. Wenn alles sauber läuft: p=reject

Plesk legt bei selbst verwalteten Zonen bereits einen DMARC-Standardeintrag an – diesen ggf. anpassen.

4. Testen

  • Mail an einen Test-Dienst wie mail-tester.com schicken → Ziel: 10/10
  • Header einer bei Gmail/Outlook empfangenen Mail prüfen: spf=pass, dkim=pass, dmarc=pass
  • dig TXT example.com, dig TXT default._domainkey.example.com, dig TXT _dmarc.example.com zur Kontrolle

Häufige Stolperfallen

  • Mehrere SPF-Records → ungültig! Es darf nur einen v=spf1-TXT-Record geben, Dienste per include zusammenfassen.
  • Port 25 vom Hoster gesperrt → ausgehende Mails bleiben in der Queue hängen (plesk sbin mailqueuemng -s bzw. Mail-Queue in Tools & Einstellungen prüfen).
  • Webanwendungen senden über PHP mail() ohne DKIM-Signatur → besser SMTP-Auth über das eigene Postfach nutzen.

Wie sind eure Erfahrungen mit der Zustellbarkeit bei Gmail & Outlook? Diskussion gern hier im Thread.