📊 Dashboard 🟢 Pulse ✉ Inbox Shield 📡 Vendor Watch 🔗 Integrations 🔷 Workspace soon 📋 Compliance

How to Check If Your Email Is DMARC Compliant

Your emails are spoofable right now — and you probably don't even know it. Here's how to find out exactly where your domain stands and what to do about it.

What DMARC actually is

DMARC stands for Domain-based Message Authentication, Reporting & Conformance. It's an email validation protocol built on top of SPF and DKIM that tells receiving mail servers what to do when an email fails authentication checks.

Without DMARC, anyone can forge the "From" address on emails sent from your domain. That email asking the CFO to wire $47,000 to a new account? It can look like it came from your CEO's address. DMARC is the control that makes that kind of impersonation significantly harder.

Why it matters for your team

If you're running a SaaS product or any business that sends email on behalf of your brand, your domain's reputation is an asset. Here's what DMARC actually protects:

How to check your current DMARC record

The fastest way is to do a DNS lookup for a _dmarc.yourdomain.com TXT record. Here's how:

Option 1 — Use a DMARC checker (recommended)

Run your domain through EdgeIQ's free DMARC checker and get a full breakdown of your record, policy level, and alignment status in seconds.

Option 2 — Command line lookup

dig TXT _dmarc.yourdomain.com +short

Or on macOS:

nslookup -type=TXT _dmarc.yourdomain.com

Option 3 — Online lookup tool

MXToolbox, Google Admin Toolbox, and many others offer free DMARC record lookups. Paste your domain and read the raw TXT record output.

Reading your DMARC record

A published DMARC record looks something like this:

v=DMARC1; p=quarantine; rua=mailto:[email protected]; fo=1; adkim=s; aspf=s

Here's what each piece means:

The three DMARC policy levels explained

This is the most important part. Your p= value determines what happens to email that fails DMARC checks:

p=none — Monitoring only

Receivers take no action on failing messages. You get reports, but you're not protected. This is the right starting point to collect baseline data, not a destination.

p=quarantine — Probation

Failing messages get moved to spam or junk. Not blocked outright, but significantly degraded deliverability for unauthenticated senders impersonating your domain. A reasonable mid-stage policy.

p=reject — Full enforcement

Receivers block unauthenticated messages entirely. This is the target. When your DMARC record is healthy and your legitimate senders are all aligned, p=reject is what you want. It means attackers cannot get spoofed emails delivered from your domain.

Common reasons your record might fail

DMARC compliance checklist

  1. Published a DMARC record at _dmarc.yourdomain.com
  2. Set p=none initially and collected baseline reports for at least 2 weeks
  3. Reviewed aggregate reports and identified all legitimate senders
  4. Added missing senders to your SPF record
  5. Enabled DKIM signing on all platforms sending as your domain
  6. Set up a dedicated rua address to receive reports
  7. Moved policy to p=quarantine once alignment pass rate is stable
  8. Targeted p=reject after confirming no legitimate email is failing
  9. Scheduled a recurring review (monthly or quarterly) of DMARC reports
  10. Extended policy to subdomains with sp=reject if they send mail

What to do next

Start by checking what your domain currently says. If you don't have a DMARC record yet, that's the first thing to fix. If you do but it's at p=none, move it forward once you've reviewed the reports and confirmed your legitimate senders are aligned.

For a quick, automated readout of your domain's DMARC status — including policy level, record syntax, and alignment flags — use the EdgeIQ DMARC checker below.

Check your DMARC record now

Enter your domain and get an instant DMARC compliance report — free, no signup required.

Run a DMARC check →