All help articles

DMARC reports

Big mail providers such as Google, Microsoft and Yahoo send a daily "aggregate report" to every domain with a DMARC record that asks for one. A report lists which servers sent mail using your domain, how many messages, and whether they passed SPF and DKIM. Some receivers also send a "failure report" (ruf) about each single message that failed. Mailocity collects both kinds for you, so you can see who sends as your domain before you tighten your DMARC policy, and spot anyone forging it.

How it works

Report collection is on for every domain by default (dmarcCollect).

  1. The DMARC record in your DNS checklist asks for reports at dmarc-reports@<your-domain>, ahead of any addresses you list in dmarcReports. Update the _dmarc record in your DNS if you added the domain before this feature existed.
  2. Reports sent to that address are read when they arrive, whether gzip, zip or plain XML, and stored against your domain for 180 days. They are not delivered to a mailbox.
  3. A report is only stored if it is about your domain or one of its subdomains. A report about any other domain is refused, so nobody can push reports into another customer's domain.
  4. Each report records whether its own email passed DMARC (senderVerified). Reports from big providers always do; treat an unverified report with suspicion, since anyone can send one.

If you would rather read the raw report emails yourself, create a mailbox or alias called dmarc-reports on the domain: it then gets the mail like any other address, and nothing is stored. To stop collecting, set dmarcCollect to false and update your DNS record.

Failure reports

Failure report collection is on for every domain by default too (dmarcCollectFailures, the Collect DMARC failure reports box in the domain's Mail settings).

Each kind can be turned off on its own. With dmarcCollect off and dmarcCollectFailures on, the record asks for failure reports only, and aggregate reports sent to the address are refused.

Domains whose DNS Mailocity publishes

If the domain uses automatic DNS (Route 53 or dnso.city), there is nothing to do: the updated _dmarc record is published at the next hourly sync, or at once with Publish now. Otherwise copy the _dmarc record from the DNS checklist into your DNS.

Reading them in the panels

Open the domain's page (in the domain admin panel, or the Mailocity admin panel under Teams or Shared domains) and scroll to DMARC reports:

Reading reports

From the API:

RequestWhat you get
GET /v1/tenants/{id}/domains/{domain}/dmarc-summary?days=30Every sending address seen in the period, busiest first, with how many messages passed, were quarantined or were rejected, and which providers reported it.
GET /v1/tenants/{id}/domains/{domain}/dmarc-reportsThe reports, newest first, 50 per page (limit up to 200; pass next as before for the next page).
GET /v1/tenants/{id}/domains/{domain}/dmarc-reports/{reportId}One report with every row: source address, message count, what the receiver did, and the raw DKIM and SPF results.

| GET /v1/tenants/{id}/domains/{domain}/dmarc-failures | The failure reports, newest first, without headers, paged the same way. | | GET /v1/tenants/{id}/domains/{domain}/dmarc-failures/{reportId} | One failure report with the failed message's headers. |

Shared domains have the same endpoints under /v1/shared-domains/{domain}.

What to look for

Limits

Not yet