Discuss your project

TOOLBOX · DOWNLOAD

SPF, DKIM, DMARCin fivesteps.

With SPF, DKIM and DMARC, you prove that emails using your domain really come from you and tell recipients how to handle forgeries. This plan takes you in five steps from the inventory to the p=reject policy, with sample DNS entries and the pitfalls described in the standards. It takes into account the DMARC standard RFC 9989 published in May 2026.

Free PDF · Guide

Email Security: SPF, DKIM and DMARC in Five Steps

Format
PDF, A4
Length
7 pages
Size
107 KB
Updated
Oct 22, 2026
Sources
11
Usage
Redistribution in unchanged form permitted
Read as a Web Page

WHO IT IS FOR

Who This
Is for.

Rollout plan from the inventory to p=reject, based on RFC 7208, RFC 6376 and the DMARC standard RFC 9989.

  • IT managers and administrators of mail servers and Microsoft 365
  • Companies whose domain is or could be misused for phishing
  • Anyone who sends newsletters, invoices or tickets through external services

7 SECTIONS

What Is
Inside.

Every technical statement in the document names its source. The revision date appears on every page.
  • 01

    What checks what

    SPF, DKIM and DMARC in one table: what is checked, where the entry is located, which standard applies.

  • 02

    Step 1: Record all senders

    Every service that sends with your domain needs matching SPF or DKIM, otherwise it will later fail DMARC.

  • 03

    Step 2: Publish SPF

    One entry per domain, no more than ten DNS lookups, ending with -all or ~all.

  • 04

    Step 3: DKIM for every sender

    Sign with rsa-sha256 and a 2048-bit key; the public key is in the DNS under the selector.

  • 05

    Step 4: DMARC in monitoring mode

    Publish p=none with a report address, evaluate reports automatically, close gaps.

  • 06

    Step 5: Via quarantine to reject

    At least one month of p=none, just as long with p=quarantine, then p=reject, with an eye on mailing lists.

  • 07

    At a glance

    The seven points to check off, from the sender inventory to the secured secondary domain.

EXCERPT

Step 5: Via quarantine to reject

Stages up to p=reject (RFC 9989, Section 7.4)
  1. p=none

    Monitor

    v=DMARC1; p=none; rua=mailto:… – At least one month.

  2. p=quarantine

    Quarantine

    v=DMARC1; p=quarantine; rua=mailto:… – Just as long; compare the results with the monitoring phase.

  3. p=reject

    Reject

    v=DMARC1; p=reject; rua=mailto:… – Permanently, once all legitimate senders pass.

  • t=y marks a policy in testing: recipients apply one level less, so for p=reject only quarantine (RFC 9989, tag t). The former pct tag no longer exists since RFC 9989; older guides, including Microsoft’s, still mention it.
  • Subdomains: sp applies to existing subdomains, np to non-existent ones; if both are missing, p applies (RFC 9989, tags sp and np).
  • Mailing lists: according to RFC 9989, domains whose users post to mailing lists on the internet should not publish p=reject; anyone who does so anyway should inform users that participation in mailing lists may be impaired (Section 7.4).
DNS: domain with no email traffic at all
parked.example.com.         IN TXT "v=spf1 -all"
_dmarc.parked.example.com.  IN TXT "v=DMARC1; p=reject;"
parked.example.com.         IN MX  0 .

The null MX entry MX 0 . states that the domain does not accept email; there must be no other MX entry alongside it, and domains used as senders should not publish it (RFC 7505). For unused domains, Microsoft recommends DMARC entries stating that no email may ever come from them, and no DKIM entries.

YOUR NEXT STEP

From Paper
to Practice.

We review with you what is already implemented in your environment and put the rest into practice: as a project with EXPERTS or as ongoing operations with GRID.