The order this builds up in
These guides build on each other. Following this order means never doing the same work twice:
- Reverse DNS — only relevant if you run your own mail server. Without a matching PTR record many receivers reject before they ever look inside the message.
- Create an SPF record — defines which servers may send on behalf of your domain. The cheapest first step, because it costs nothing but a TXT record.
- Set up DKIM — signs every message cryptographically. Unlike SPF, DKIM survives forwarding, which makes it the sturdier of the two proofs.
- Set up DMARC — ties SPF and DKIM to
the visible sender address and tells the receiver what to do on failure. Start at
p=nonewith aruaaddress. - Read the reports, then
tighten — after a few weeks of aggregate
reports move to
p=quarantine, later top=reject. - MTA-STS and TLS-RPT — protects transport encryption against downgrade attacks. Worth doing once authentication is in place.
- BIMI — the logo in the inbox. It requires an enforced DMARC policy, which is why it belongs at the end rather than the start.
The order is not arbitrary: DMARC evaluates nothing but the results of SPF and DKIM. Publishing DMARC before either of them means publishing a rule that every one of your own messages fails.
Why p=reject does not come first
The most common mistake when adopting DMARC is going strict too early. In almost every
organisation more systems send in the domain's name than anyone initially knows about: the
newsletter tool, the ticketing system, the accounting software, an old contact form, the
calendar server. Every one of them breaks under p=reject — invisibly, because
rejected mail lands nowhere, not even in a spam folder.
p=none with rua changes nothing about delivery but produces
exactly that list of senders. Only once nothing unfamiliar shows up there is tightening
risk-free.
How long DNS changes take
Every DNS record carries a TTL — the time a foreign resolver may keep the old answer. A change therefore does not take effect everywhere at once, but at the earliest once the old record's TTL has expired. Before a migration it helps to lower the TTL a day or two in advance and raise it again afterwards.
Whether the change has landed can be checked directly: the SPF check, the DMARC check and the MX check all read the live state from DNS.
When something is already broken
If the sending IP is already on a blacklist, reconfiguration alone will not help: the cause has to be closed first — an open relay, a compromised mailbox, a form without rate limiting — otherwise the next listing follows within days, and every repeated delisting becomes harder. The delisting guide works through it step by step.
Once the groundwork is in place
The seven steps above are the mandatory part. What comes next depends on what you do:
- You run your own mail server. Then it is about transport: the certificate on the right name and, if your zone is DNSSEC-signed, DANE. Both only start deciding delivery once MTA-STS or DANE are involved — before that, encryption is non-binding.
- You send to many recipients. Then fixed requirements have applied since 2024, along with one-click unsubscribe. And when the IP or domain is new, warming up comes first.
- Your SPF record has grown. Past ten DNS lookups it turns invalid — how to bring it back under the ceiling without losing senders.
Guide, check or error message?
Three areas with different purposes: the guides here show how to set something up. The checks explain what the report tests and how to read a result. And if your mail server returned a specific message, you will find it verbatim under error messages.