1. store reports 2. bundle aggregated reports 3. format report in XML 4. gzip the XML 5. deliver report to Author Domain
1. accept reports via HTTP or SMTP 2. parse the compressed XML message 3. store the report 4. present stored data
1. Extract the host portion of the authority component of the URI. Call this the "destination host". 2. Prepend the string "_report._dmarc". 3. Prepend the domain name from which the policy was retrieved. 4. Query the DNS for a TXT record at the constructed name. If the result of this request is a temporary DNS error of some kind (e.g., a timeout), the Mail Receiver MAY elect to temporarily fail the delivery so the verification test can be repeated later. 5. If the result includes no TXT resource records or multiple TXT resource records, a positive determination of the external reporting relationship cannot be made; stop. 6. Parse the result, if any, as a series of "tag=value" pairs, i.e., the same overall format as the policy record. In particular, the "v=DMARC1" tag is mandatory and MUST appear first in the list. If at least that tag is present and the record overall is syntactically valid per Section 6.3, then the external reporting arrangement was authorized by the destination ADMD. 7. If a "rua" or "ruf" tag is thus discovered, replace the corresponding value extracted from the domain's DMARC policy record with the one found in this record. This permits the report receiver to override the report destination. However, to prevent loops or indirect abuse, the overriding URI MUST use the same destination host from the first step.
sent. This MUST represent the number of bytes that the Mail
Receiver attempted to send. Where more than one transport system
was attempted, the sizes may be different; in such cases, separate
error reports MUST be generated so that this value matches the
actual attempt that was made. For example, a "mailto" error
report would be sent to the "mailto" URIs with one size, while the
"https" reports might be POSTed to those URIs with a different
size, as they have different transport and encoding requirements. Submitter: The domain-name representing the Mail Receiver that generated, but was unable to submit, the report. Submitting-URI: The URI(s) to which the Mail Receiver tried, but failed, to submit the report. An additional text/plain part MAY be included that gives a human- readable explanation of the above, and MAY also include a URI that can be used to seek assistance. [NOTE: A more rigorous syntax specification, including ABNF and possible registration of a new media type, will be added here when more operational experience is acquired.]
This first version of DMARC supports only a single reporting format.