Skip to content
SEO Optimizer is live, Audit on page SEO and AI-search readiness. Try it free
Entrar
Featured image for "What Is DMARC? Records, Policies and How to Get to p=reject"
Security

What Is DMARC? Records, Policies and How to Get to p=reject

·5 min read

Anyone can send an email that claims to come from your domain. DMARC is how you tell the world's mail servers what to do with those messages. So what is DMARC exactly? It is a short DNS record that ties together two older checks, SPF and DKIM, and adds two things they lack: a policy for failing mail and reports that show who is sending as you. Since 2024, Google and Yahoo require it for anyone sending bulk email, and without it your domain is easy to use for phishing.

What Is DMARC?

DMARC stands for Domain-based Message Authentication, Reporting and Conformance. It is defined in RFC 7489. In plain words, what is DMARC doing? When a mail server receives a message that says it is from you@example.com, it looks up the DMARC record for example.com and asks three questions:

  1. Did the message pass SPF or DKIM?
  2. Does the domain that passed align with the domain in the visible From address?
  3. If not, what does the domain owner want done: nothing, spam folder or reject?

The receiving server then sends you a daily summary of what it saw. That is the reporting part.

How DMARC Works With SPF and DKIM

CheckWhat it provesIts gap
SPFThe sending server's IP is allowed to send for a domain.It checks the hidden envelope sender, not the From address people see. It breaks when mail is forwarded.
DKIMThe message was signed by a domain and not changed in transit.The signing domain can be any domain, not necessarily yours.
DMARCSPF or DKIM passed for the same domain as the From address, plus a policy and reports.Only works once SPF and DKIM are set up for every service that sends your mail.

This alignment step is the heart of the answer to "what is DMARC". A spammer can pass SPF for their own domain and still put your domain in the From line. DMARC catches that because the domains do not match.

What a DMARC Record Looks Like

A DMARC record is a TXT record published at _dmarc. plus your domain:

_dmarc.example.com TXTA DMARC record in monitoring mode with reports
v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com; fo=1
TagMeaning
v=DMARC1Version. Must come first.
p=Policy for failing mail: none, quarantine or reject.
rua=Where daily aggregate reports are sent.
sp=Policy for subdomains, if different from p=.
pct=Percentage of failing mail the policy applies to, useful while rolling out.
adkim= / aspf=Alignment mode: r (relaxed, default) allows subdomains, s (strict) needs an exact match.
fo=When to send failure reports. Many providers no longer send these.

The Three DMARC Policies

  • p=none (monitor): failing mail is delivered as normal. You only get reports. This is where everyone should start, and where too many domains stay forever.
  • p=quarantine: failing mail goes to the spam folder.
  • p=reject: failing mail is refused. This is the only policy that actually stops someone spoofing your domain.

A p=none policy satisfies the Google and Yahoo bulk sender rules, but it does not protect you. It is a step on the way, not the goal.

How to Move From p=none to p=reject Safely

  1. Publish p=none with a rua address. Use a mailbox or a DMARC report service. The raw reports are XML and hard to read by hand.
  2. List every service that sends as your domain. Your mailbox provider, newsletter tool, CRM, help desk, billing system, website contact forms and anything else. The reports will show the ones you forgot.
  3. Fix SPF and DKIM for each one. Add each service to your SPF record and turn on DKIM signing with your own domain in each tool. Most providers have a "custom domain" or "authenticate domain" setting that gives you the DNS records to add.
  4. Move to p=quarantine, optionally with pct=25, then raise the percentage while you watch the reports.
  5. Move to p=reject once legitimate mail passes consistently, usually after a few weeks of clean reports.
  6. Protect domains that never send email with v=DMARC1; p=reject; and an SPF record of v=spf1 -all. Parked domains are a favorite for spoofing because nobody watches them.

How to Check Your DMARC Record

You can look up the record yourself with dig TXT _dmarc.example.com or nslookup -type=TXT _dmarc.example.com. A security scan also checks it for you, alongside the rest of your domain's email setup. It reports:

  • No DMARC record found.
  • A DMARC policy of p=none, which monitors but does not block spoofed mail.
  • No SPF record, and no DKIM key on common selectors such as google, selector1 and default.
  • No MTA-STS policy, so mail servers are not told to require encrypted delivery.

The scan checks the apex domain even when you enter a www address, because email records live on the main domain. It is a quick way to see the gaps, though it does not read your DMARC reports or tell you which services are sending mail. For that you still need the rua reports.

Common DMARC Mistakes

  • More than one DMARC record. Receivers treat two records as no record at all.
  • Staying on p=none for years. Reports alone stop nothing.
  • Forgetting third-party senders. Jumping to p=reject before every service passes DKIM or SPF will block your own invoices and newsletters.
  • Sending reports to an address nobody reads. Then you miss the senders that would fail when you tighten the policy.
  • Typos in the record. A missing semicolon or v=DMARC1 not at the start makes the record invalid.

Summary

What is DMARC, in one line? It is the DNS record that tells mail servers to reject email that pretends to be from your domain, and that reports back on who is sending as you. Start at p=none with reports, fix SPF and DKIM for every sender, then move to p=reject. For more on what a scan report shows and how to prioritize it, see how to read a security scan report.

FAQ

Perguntas frequentes

DMARC is a DNS record that tells receiving mail servers what to do with email that claims to be from your domain but fails SPF and DKIM checks: deliver it, send it to spam or reject it. It also sends you reports about who is sending mail as your domain.

Since 2024, Google and Yahoo require a DMARC record for bulk senders, along with SPF and DKIM. Even if you send little email, a DMARC record stops others from easily spoofing your domain.

p=none only monitors and delivers failing mail as normal. p=quarantine sends failing mail to spam. p=reject refuses it. Only p=reject fully blocks spoofed email.

Yes. DMARC passes when SPF or DKIM passes for a domain that matches the From address. Set up both for every service that sends email for you before tightening the policy.

For most small organizations, a few weeks to a couple of months. It depends on how many services send mail as your domain and how quickly you can fix SPF and DKIM for each one.

Find out which headers you're missing

Run a free security scan and get a plain-English breakdown of every header, cert, and exposed secret.

Run a free security scan