Skip to main content

Your privacy

We store what the site needs to work, like a notice you closed or your domain shortlist. With your OK we also use Google Analytics to see which pages help people, and the Meta Pixel to measure which of our adverts work. Privacy policy

Serverlys
Email

Set up DMARC step by step

Publish a DMARC record, read what the reports tell you, and move to an enforcing policy without losing real mail.

All Email tutorials6 stepsAbout 15 minutes

Before you start

  • SPF and DKIM already set up for your main mail service
  • Access to the domain's DNS
  • A mailbox, or a report-processing service, to receive DMARC reports
  1. Step 1: Understand alignment before you publish

    DMARC passes when SPF or DKIM passes AND the domain that passed matches the domain in the visible From: address. SPF checks the envelope sender, which third-party platforms often set to their own domain — SPF passes, but it does not align. That is why DKIM signed with YOUR domain is the dependable route to a DMARC pass.

  2. Step 2: Decide where reports go

    Create an address such as dmarc@yourdomain.com. Expect a steady flow of compressed XML files from large receivers. If you send reports to an address on a different domain, that domain must publish a record authorising it, or receivers will not send them.

    yourdomain.com._report._dmarc.reportdomain.com.  TXT  "v=DMARC1"
  3. Step 3: Publish the record in monitor mode

    Add a TXT record at the host _dmarc. v=DMARC1 must come first, with the policy straight after it. p=none changes nothing about delivery; it only asks for reports. Publish exactly one DMARC record — if receivers find two, they apply neither.

    Host:  _dmarc
    Type:  TXT
    Value: v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
  4. Step 4: Check that it is live

    Query the record directly. If nothing comes back, the host field probably doubled the domain (_dmarc.yourdomain.com.yourdomain.com).

    dig +short TXT _dmarc.yourdomain.com
  5. Step 5: Work through the reports

    Each aggregate report lists the IP addresses that sent mail as your domain and whether SPF and DKIM passed and aligned. Group them by source. For each legitimate sender that fails, turn on DKIM with your domain at that sender, or add it to SPF. Give it at least two weeks so monthly senders such as invoicing tools show up.

  6. Step 6: Enforce in two stages

    Move to p=quarantine, which sends failing mail to spam, and watch the reports for another two weeks. Then move to p=reject. Subdomains inherit the policy unless you set sp= separately.

    v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com
    v=DMARC1; p=reject; rua=mailto:dmarc@yourdomain.com

The mistake people make

Moving to p=reject because SPF passes for every sender. If a sender's SPF pass is for its own domain rather than yours, it does not align, and that sender's mail is rejected the day the policy changes.

Stuck on something not covered here?

Support is included on every plan, and it reaches a person. There is also the blog for the why behind these, and the FAQ for questions about buying.

Get help

A plan that still makes sense in year two

Free migration, free SSL and daily backups on every plan, with a 30-day money-back guarantee.

Prefer the phone? (305) 671-1272 · Existing customer? Client login