DMARC check

Finds the DMARC record for the domain or its organisational domain, validates the tags and explains policy, subdomain policy, alignment and reporting addresses.

Updated 2026-10-07

Free, no account, nothing is stored

What this tool checks

The DMARC check queries _dmarc.DOMAIN, where DOMAIN is the domain you give. If the name has no record, it queries the organisational domain, determined with the Public Suffix List (RFC 7489 section 3.2).

  • It validates the tags and reports syntax errors and unknown tags.
  • It explains the policy p, the subdomain policy sp and the percentage pct.
  • It reports the effective policy. If p is invalid but a valid rua is present, the policy is treated as none, as the RFC describes.
  • It lists report addresses and notes the ones that are not mailto: addresses, because they are not supported.
  • It flags p=none, a partial percentage with an enforcing policy, a missing rua, and multiple records.

How to read the result

The result separates what is published from what applies. If the record comes from the organisational domain, the result says so. A finding is information about the record, not a judgement of your mail setup.

Limitations

  • The check reads the published record only. It does not look at DMARC reports or at how your mail actually authenticates.
  • Alignment settings are explained, but whether your mail aligns depends on SPF and DKIM for each message.
  • Reports sent to other domains may need an authorisation record at that domain. The check does not test that.

Use it from code

API reference for DMARC check

curl -i "https://api.probekit.dev/v1/mail/dmarc?domain=example.com"

A request without payment is answered with 402 Payment Required and the exact price. See the API reference.

Limits

InputDomain
Deadline10 seconds
FreshnessUp to 5 minutes, never longer than the record TTL
Price$0.01 per check

Findings this tool can report

DMARC (10)
Check (1)
DNS (2)

Frequently asked questions

What does p=none do?

A none policy asks receivers not to take action on mail that fails DMARC. It is used to collect reports before moving to quarantine or reject. The check flags it so that it is a conscious choice and not a leftover.

Why does my subdomain show the parent's policy?

When a subdomain has no DMARC record of its own, receivers use the record of the organisational domain (RFC 7489 section 3.2). The check does the same and reports that the policy is inherited. If the parent record has an sp tag, that policy applies to subdomains.

How does the check find the organisational domain?

It uses the Public Suffix List, the same list receivers rely on, to decide which part of the name is the registered domain.

Does a reporting address mean I will receive reports?

The rua tag only says where aggregate reports should be sent. Whether a receiver sends them is up to the receiver. The check reports that rua is missing or uses an unsupported address type.