Referenz

DMARC-Record Syntax:
Alle Tags im Überblick

Ein DMARC-Record besteht aus Tag-Wert-Paaren, getrennt durch Semikolon. Zwei Tags sind Pflicht, alle anderen optional. Diese Seite erklärt jeden Tag nach RFC 9989 (DMARCbis) – dem aktuellen DMARC-Standard, der RFC 7489 ersetzt hat.

v=DMARC1; p=quarantine; rua=mailto:reports@beispiel.de; adkim=r; aspf=r
Pflicht-TagsEmpfohlenOptional
vVersionPflicht
Muss an erster Stelle im Record stehenEinziger gültiger Wert: DMARC1

Der Versions-Tag kennzeichnet den DNS-TXT-Eintrag als DMARC-Record. Ohne diesen Tag erkennen empfangende Mailserver den Eintrag nicht als DMARC und ignorieren ihn vollständig.

Beispielv=DMARC1
pPolicy (Richtlinie)Pflicht
Muss an zweiter Stelle im Record stehenBestimmt, was mit nicht-authentifizierten E-Mails passiert

Der wichtigste Tag im DMARC-Record. Er legt fest, was empfangende Mailserver tun sollen, wenn eine E-Mail den DMARC-Check nicht besteht – also weder über SPF noch über DKIM korrekt aligned ist.

WertVerhalten
noneE-Mails werden normal zugestellt, unabhängig vom DMARC-Ergebnis. Bietet keinen Spoofing-Schutz. ⚠ Nur für Monitoring-Phase
quarantineNicht-authentifizierte E-Mails werden in den Spam-Ordner verschoben.
rejectNicht-authentifizierte E-Mails werden vollständig abgelehnt und kommen nicht an. Maximaler Schutz.
Beispielp=quarantine
spSubdomain-Policy (Subpolicy)Optional
Ohne sp gilt die Hauptpolicy p auch für SubdomainsErlaubt es, Subdomains strenger oder lockerer zu behandeln

Legt fest, was mit E-Mails von Subdomains passieren soll, die keinen eigenen DMARC-Record haben. Nützlich, wenn Subdomains von Drittanbietern verwendet werden, die noch nicht vollständig konfiguriert sind.

WertVerhalten
noneKeine Aktion bei Subdomain-Mails, die den Check nicht bestehen.
quarantineNicht-authentifizierte Subdomain-Mails landen im Spam.
rejectNicht-authentifizierte Subdomain-Mails werden abgelehnt.
Beispielsp=reject
npNon-existent Subdomain PolicyOptionalNeu · RFC 9989
Neu in RFC 9989 (DMARCbis) – ergänzt sp für nicht-existierende SubdomainsOhne np: es gilt zunächst sp, sonst p
Neu in RFC 9989: Der np-Tag adressiert einen Missbrauchsvektor, den RFC 7489 nicht abdeckte: E-Mails von Subdomains, die überhaupt nicht existieren (z. B. xyz123.beispiel.de). Solche Domains werden häufig für Phishing genutzt, da ein fehlender DNS-Eintrag keine DMARC-Prüfung auslöst. np schließt diese Lücke.

Legt die Policy für E-Mails von Subdomains fest, die keinen DNS-Eintrag haben. Der Unterschied zu sp: sp gilt für existierende Subdomains ohne eigenen DMARC-Record, np gilt für nicht-existierende Subdomains (NXDOMAIN). Für maximalen Schutz empfiehlt sich np=reject.

WertVerhalten
noneKeine Aktion bei Mails von nicht-existierenden Subdomains.
quarantineMails von nicht-existierenden Subdomains landen im Spam.
rejectMails von nicht-existierenden Subdomains werden abgelehnt. Empfohlen.
Beispielnp=reject
tTesting-ModusOptionalNeu · RFC 9989
Neu in RFC 9989 – ersetzt den veralteten pct-TagStandard: kein Testing-Modus (Policy wird vollständig angewendet)
Neu in RFC 9989: Der t-Tag ist der saubere Ersatz für pct. Statt eines Prozentsatzes gibt es nur noch ein binäres Flag: entweder ist die Policy aktiv (t=n, Standardverhalten) oder der Record befindet sich explizit im Testing-Modus (t=y) – dann werden Mails zugestellt, aber Berichte weiterhin gesendet.

Erlaubt es, einen DMARC-Record zu aktivieren, ohne dass die Policy sofort durchgesetzt wird. Im Testing-Modus werden alle Mails normal zugestellt – unabhängig von der konfigurierten Policy. Reports laufen aber weiterhin ein, sodass die Konfiguration beobachtet werden kann, bevor die Durchsetzung aktiviert wird.

WertVerhalten
yTesting aktiv: Policy wird nicht durchgesetzt. Mails werden normal zugestellt, Reports weiterhin versendet. Entspricht dem alten pct=0.
nTesting inaktiv (Standardverhalten): Policy wird vollständig durchgesetzt.
Beispielt=y
ruaAggregate-Berichte (Reporting URI)Optional
Ohne rua erhältst du keine DMARC-ReportsMehrere Adressen durch Komma getrennt, maximal 2 empfohlenNur mailto:-URIs werden garantiert verarbeitet

An die angegebene Adresse senden Mailbox-Provider täglich Aggregate-Reports im XML-Format. Diese enthalten statistische Daten: IP-Adressen sendender Server, Volumen, SPF- und DKIM-Ergebnisse. Ohne RUA-Adresse bist du blind für den E-Mail-Verkehr unter deiner Domain.

Fremddomain: Wenn die RUA-Adresse zu einer anderen Domain gehört als dein DMARC-Record, muss diese Fremddomain den Empfang explizit erlauben – per DNS-Eintrag deindomain.de._report._dmarc.fremddomain.de mit Wert v=DMARC1.
Beispielrua=mailto:dmarc@beispiel.de
rufForensic-Berichte (Failure Reports)Optional
Berichte kommen pro fehlgeschlagener E-Mail – nicht täglich aggregiertViele Mailbox-Provider senden aus Datenschutzgründen keine RUF-Reports mehrNur mailto:-URIs; Fremddomain-Regelung wie bei RUA

Forensic-Reports enthalten Details zur einzelnen E-Mail, die den DMARC-Check nicht bestanden hat – teilweise inklusive Header und Betreff. Da diese Berichte personenbezogene Daten enthalten können, haben viele große Mailbox-Provider deren Versand eingestellt. In der Praxis kommen RUF-Reports heute selten an.

Beispielruf=mailto:forensic@beispiel.de
adkimDKIM-AusrichtungsmodusOptional
Standard: r (relaxed)Bestimmt, wie streng die DKIM-Signatur-Domain mit der From-Header-Domain übereinstimmen muss

DKIM-Alignment prüft, ob die Domain der DKIM-Signatur mit der Domain im From-Header übereinstimmt. Im relaxed-Modus reicht es, wenn beide zur selben Organisationsdomain gehören (Subdomains erlaubt). Im strict-Modus müssen sie exakt übereinstimmen.

WertVerhalten
rRelaxed: DKIM-Signaturdomain und From-Domain müssen zur gleichen Organisationsdomain gehören. Subdomains sind erlaubt (z. B. mail.beispiel.de für beispiel.de).
sStrict: DKIM-Signaturdomain und From-Domain müssen exakt identisch sein. Subdomains sind nicht erlaubt.
Beispieladkim=r
aspfSPF-AusrichtungsmodusOptional
Standard: r (relaxed)Bestimmt, wie streng die SPF-Domain mit der From-Header-Domain übereinstimmen muss

SPF-Alignment prüft, ob die Domain, die SPF authentifiziert hat (Return-Path / MAIL FROM), mit der From-Header-Domain übereinstimmt. Im relaxed-Modus genügt die gleiche Organisationsdomain. Im strict-Modus muss sie exakt übereinstimmen. Weiterleitungen können den SPF-Check aufbrechen – DKIM ist dabei stabiler.

RFC 9989: DMARC wertet für das SPF-Alignment ausschließlich den MAIL FROM-Pfad aus. Der früher mögliche Fallback auf HELO/EHLO ist in DMARCbis explizit nicht mehr vorgesehen.
WertVerhalten
rRelaxed: SPF-authentifizierte Domain und From-Domain müssen zur gleichen Organisationsdomain gehören. Subdomains erlaubt.
sStrict: SPF-authentifizierte Domain und From-Domain müssen exakt identisch sein. Keine Subdomains.
Beispielaspf=s
psdPublic Suffix DomainOptionalNeu · RFC 9989
Neu in RFC 9989 – relevant nur für Registries und öffentliche Suffix-DomainsFür normale Unternehmensdomains nicht erforderlich
Neu in RFC 9989: Ersetzt die Abhängigkeit vom Public Suffix List (PSL). Statt einer extern gepflegten Liste bestimmt DMARC die Organisationsdomain jetzt per DNS Tree Walk. Der psd-Tag erlaubt es Registries (z. B. Betreibern von .co.uk, .com.br), ihren DMARC-Record explizit als Public Suffix Domain zu deklarieren.

Deklariert eine Domain als Public Suffix Domain. Damit kann auch auf Ebene von Top-Level-Domains oder Country-Code-Domains eine DMARC-Policy hinterlegt werden. Für Standard-Unternehmensdomains (z. B. beispiel.de) ist dieser Tag nicht relevant.

WertVerhalten
yDiese Domain ist eine Public Suffix Domain. DMARC behandelt sie entsprechend.
nDiese Domain ist keine Public Suffix Domain (Standardverhalten).
Beispielpsd=y
pctAbdeckungVeraltet · RFC 9989
Entfernt in RFC 9989 (DMARCbis): Der pct-Tag wurde aus dem Standard gestrichen. Sein Zweck (kontrollierter Rollout ohne vollständige Durchsetzung) übernimmt der neue t=y-Tag. In bestehenden Records wird pct von RFC-9989-konformen Empfängern ignoriert.
War: Wert 1–100; Prozentsatz der Mails, auf die die Policy angewendet wirdErsatz: t=y für Testing-Modus

Erlaubte es früher, die DMARC-Policy schrittweise zu aktivieren. Ein Wert von 50 bedeutete: Die Policy wurde nur auf die Hälfte der betroffenen Mails angewendet. In der Praxis war das unpräzise und wurde häufig missbraucht. RFC 9989 hat diesen Tag zugunsten des klareren t-Tags entfernt.

Altpct=100→ heute: t=n (Standard) oder weglassen
foForensic-OptionenOptional
Standard: 0Mehrere Optionen durch Doppelpunkt (:) getrenntNur wirksam, wenn ein ruf-Tag definiert ist

Bestimmt, unter welchen Bedingungen Forensic-Reports erzeugt werden. Da viele Mailbox-Provider RUF-Berichte nicht mehr versenden, hat dieser Tag in der Praxis wenig Bedeutung.

WertBedingung
0Fehlerbericht, wenn sowohl DKIM als auch SPF kein pass liefern.
1Fehlerbericht, wenn DKIM oder SPF kein pass liefern.
dDKIM-Fehlerbericht, unabhängig vom Alignment-Ergebnis.
sSPF-Fehlerbericht, unabhängig vom Alignment-Ergebnis.
Beispielfo=1:d
riAggregate-IntervallVeraltet · RFC 9989
Entfernt in RFC 9989 (DMARCbis): Der ri-Tag wurde entfernt, weil er in der Praxis wirkungslos war – kein Mailbox-Provider hat ein anderes Intervall als 24 Stunden geliefert. Das Berichtsintervall ist damit nicht mehr konfigurierbar.

Gab früher den gewünschten Berichts-Intervall für Aggregate-Reports in Sekunden an. In der Praxis haben alle Mailbox-Provider grundsätzlich einmal täglich gesendet, unabhängig vom konfigurierten Wert. RFC 9989 hat den Tag daher schlicht entfernt.

Altri=86400
rfForensic-BerichtsformatVeraltet · RFC 9989
Entfernt in RFC 9989 (DMARCbis): Der rf-Tag wurde entfernt, weil afrf das einzig jemals implementierte Format war und keine echte Auswahl bestand. RFC 9989 hat das Format im zugehörigen RFC 9991 (Failure Reporting) fest verankert.

Legte früher das Format für Forensic-Reports fest. Da ausschließlich afrf (Authentication Failure Reporting Format) jemals implementiert wurde, war der Tag bedeutungslos. RFC 9989 hat ihn entsprechend aus dem Standard entfernt.

Altrf=afrf

Du willst wissen, ob dein aktueller DMARC-Record korrekt konfiguriert ist? Der Analyser überprüft Syntax, Policy und Alignment direkt im Browser.

DMARC Record Analyser   Record Generator