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.
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.
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:
The fastest way is to do a DNS lookup for a _dmarc.yourdomain.com TXT record. Here's how:
Run your domain through EdgeIQ's free DMARC checker and get a full breakdown of your record, policy level, and alignment status in seconds.
dig TXT _dmarc.yourdomain.com +short
Or on macOS:
nslookup -type=TXT _dmarc.yourdomain.com
MXToolbox, Google Admin Toolbox, and many others offer free DMARC record lookups. Paste your domain and read the raw TXT record output.
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:
v=DMARC1 — version identifier, always the first valuep=<policy> — what receivers should do with unauthenticated email (the critical setting)rua — email address for aggregate reports (where failures show up)fo — reporting options for failure eventsadkim — DKIM alignment mode (s = strict, r = relaxed)aspf — SPF alignment mode (s = strict, r = relaxed)This is the most important part. Your p= value determines what happens to email that fails DMARC checks:
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.
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.
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.
_dmarc.yourdomain.comp=none initially and collected baseline reports for at least 2 weeksrua address to receive reportsp=quarantine once alignment pass rate is stablep=reject after confirming no legitimate email is failingsp=reject if they send mailStart 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.
Enter your domain and get an instant DMARC compliance report — free, no signup required.
Run a DMARC check →