Created
July 24, 2020 17:36
-
-
Save moonshiner/5041536298aae2311f2b3af615f60020 to your computer and use it in GitHub Desktop.
Current DMARC ABNF
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; | |
; Extracted ABNF from RFC7489 | |
; | |
; URI rfc3986 | |
; DIGIT rfc5234 | |
; WSP rfc5234 | |
; Keyword rfc5321 | |
; ALPHA rfc5234 | |
; domain rfc5322 | |
; FWS rfc5322 | |
; domain-name rfc6376 | |
; msg-id rfc5322 | |
; CFWS rfc5322 | |
dmarc-uri = URI [ "!" 1*DIGIT [ "k" / "m" / "g" / "t" ] ] | |
; "URI" is imported from [RFC3986]; commas (ASCII | |
; 0x2C) and exclamation points (ASCII 0x21) | |
; MUST be encoded; the numeric portion MUST fit | |
; within an unsigned 64-bit integer | |
dmarc-record = dmarc-version dmarc-sep | |
[dmarc-request] | |
[dmarc-sep dmarc-srequest] | |
[dmarc-sep dmarc-auri] | |
[dmarc-sep dmarc-furi] | |
[dmarc-sep dmarc-adkim] | |
[dmarc-sep dmarc-aspf] | |
[dmarc-sep dmarc-ainterval] | |
[dmarc-sep dmarc-fo] | |
[dmarc-sep dmarc-rfmt] | |
[dmarc-sep dmarc-percent] | |
[dmarc-sep] | |
; components other than dmarc-version and | |
; dmarc-request may appear in any order | |
dmarc-version = "v" *WSP "=" *WSP %x44 %x4d %x41 %x52 %x43 %x31 | |
dmarc-sep = *WSP %x3b *WSP | |
dmarc-request = "p" *WSP "=" *WSP | |
( "none" / "quarantine" / "reject" ) | |
dmarc-srequest = "sp" *WSP "=" *WSP | |
( "none" / "quarantine" / "reject" ) | |
dmarc-auri = "rua" *WSP "=" *WSP | |
dmarc-uri *(*WSP "," *WSP dmarc-uri) | |
dmarc-furi = "ruf" *WSP "=" *WSP | |
dmarc-uri *(*WSP "," *WSP dmarc-uri) | |
dmarc-adkim = "adkim" *WSP "=" *WSP | |
( "r" / "s" ) | |
dmarc-aspf = "aspf" *WSP "=" *WSP | |
( "r" / "s" ) | |
dmarc-ainterval = "ri" *WSP "=" *WSP 1*DIGIT | |
dmarc-fo = "fo" *WSP "=" *WSP | |
( "0" / "1" / "d" / "s" ) | |
*(*WSP ":" *WSP ( "0" / "1" / "d" / "s" )) | |
dmarc-rfmt = "rf" *WSP "=" *WSP Keyword *(*WSP ":" Keyword) | |
; registered reporting formats only | |
dmarc-percent = "pct" *WSP "=" *WSP | |
1*3DIGIT | |
filename = receiver "!" policy-domain "!" begin-timestamp | |
"!" end-timestamp [ "!" unique-id ] "." extension | |
unique-id = 1*(ALPHA / DIGIT) | |
receiver = domain | |
; imported from [RFC5322] | |
policy-domain = domain | |
begin-timestamp = 1*DIGIT | |
; seconds since 00:00:00 UTC January 1, 1970 | |
; indicating start of the time range contained | |
; in the report | |
end-timestamp = 1*DIGIT | |
; seconds since 00:00:00 UTC January 1, 1970 | |
; indicating end of the time range contained | |
; in the report | |
extension = "xml" / "xml.gz" | |
dmarc-subject = %x52.65.70.6f.72.74 1*FWS ; "Report" | |
%x44.6f.6d.61.69.6e.3a 1*FWS ; "Domain:" | |
domain-name 1*FWS ; from RFC 6376 | |
%x53.75.62.6d.69.74.74.65.72.3a ; "Submitter:" | |
1*FWS domain-name 1*FWS | |
%x52.65.70.6f.72.74.2d.49.44.3a ; "Report-ID:" | |
msg-id ; from RFC 5322 | |
id-align = "Identity-Alignment:" [CFWS] | |
( "none" / | |
dmarc-method *( [CFWS] "," [CFWS] dmarc-method ) ) | |
[CFWS] | |
dmarc-method = ( "dkim" / "spf" ) | |
; each may appear at most once in an id-align |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment