"We're authenticated" is the most common sentence we hear right before someone's inbox test returns 40% Spam. Most of the time they have an SPF record and DKIM enabled, and that's where it stops. Complete authentication means fifteen separate checks, not two. Run through this list before every new sending domain and before every campaign on an old one.
Five SPF checks, four DKIM checks, four DMARC checks, two alignment checks. Any failing item kills or weakens authentication. If all fifteen pass, you're authenticated at the level Gmail and Yahoo expect from bulk senders in 2026.
SPF checklist (5 items)
- An SPF record exists at the domain apex. Verify with
dig +short TXT example.com | grep spf1. Absence means no SPF at all. - Exactly one SPF record. Two records = permerror = no SPF. If the
digoutput contains more than onev=spf1line, merge them into one. - Every sending service is included. Google Workspace, Microsoft 365, every transactional ESP, every marketing ESP, any custom mail server. Missing even one service means its mail softfails.
- Under 10 DNS lookups. Count
include:,a,mx,exists:,redirect=— including nested ones from each include. Use MXToolbox SPF checker if in doubt. - Ends with
~allor-all. Never+all, never?all, never missing. Fresh rollouts use~all; mature setups use-all.
DKIM checklist (4 items)
- DKIM selector published at the right name. Verify with
dig +short TXT selector._domainkey.example.com. The result should start withv=DKIM1and contain ap=public key. - Key is 2048-bit, not 1024. 1024 still works but is weak. 2048 is the modern default across Gmail, Microsoft and every major ESP.
d=domain matches or aligns with From domain. Open any received message and check the DKIM-Signature header. If From isyou@brand.comand the signature saysd=mailgun.org, DMARC will fail. Configure the ESP to sign withd=brand.com.- Every sending service signs with DKIM. Not just the main ESP — transactional, marketing, support ticketing, invoicing, any tool that sends from your domain. An unsigned message from one vendor breaks DMARC alignment for that stream.
DMARC checklist (4 items)
- DMARC record exists.
dig +short TXT _dmarc.example.comshould return av=DMARC1record. - Policy is at least
p=nonewithrua=. Norua=means no reports means no visibility. A policy with no reporting address barely counts. - Policy is at
p=quarantineor stricter after 2 weeks.p=noneforever signals laziness to receivers. Gmail has started weightingp=nonerecords lower. - Alignment is verified in actual reports. Pull your latest aggregate report and confirm
spf_aligned=1ordkim_aligned=1(or both) for every legitimate sending source.
Alignment checklist (2 items)
- Return-Path domain aligns with From domain (SPF). If From is
you@brand.com, Return-Path should bebounces@brand.comor a subdomain likebounces.brand.comunder relaxed alignment. Inspect theReturn-Path:header of a received message. d=domain aligns with From domain (DKIM). Same domain or subdomain under relaxed alignment. This is the most commonly broken alignment and the reason most DMARC failures happen.
Tools for the audit
dig +short TXT— the fastest, most reliable way to read records. Equivalent on Windows:nslookup -type=TXT.- dmarcian SPF Surveyor — expands includes, counts lookups, flags problems.
- MXToolbox — SPF, DKIM, DMARC lookups in one UI with health grades.
- Mail-Tester.com — send a test email, get a score plus all three authentication results in one view.
- Postmark DMARC Monitoring — free, ongoing report aggregation once you publish
rua=. - Our free placement test — sends through 20+ real seed mailboxes and surfaces SPF/DKIM/DMARC per provider, alongside actual folder placement.
Fixing each red flag
If a check fails, here's where to go:
- SPF record missing, wrong or over 10 lookups: see the full SPF record setup guide and SPF too many lookups article.
- DKIM missing, wrong selector, or
d=misaligned: see DKIM explained. For Google Workspace specifics, the Google Workspace DKIM walk-through. - DMARC missing,
p=noneforever, no reports: the DMARC for beginners article covers the full rollout. - Alignment failing: DMARC alignment failures is the deep dive. Short version: configure custom Return-Path and custom DKIM domain at each ESP.
dig +short TXT example.com | grep spf1
dig +short TXT selector1._domainkey.example.com
dig +short TXT _dmarc.example.com
# Windows equivalent:
nslookup -type=TXT example.com
nslookup -type=TXT selector1._domainkey.example.com
nslookup -type=TXT _dmarc.example.comRe-running the checklist
Run this entire checklist every time you:
- Add a new ESP or transactional mail service.
- Change DNS providers.
- Migrate mail platforms (Google Workspace ↔ Microsoft 365).
- Add a subdomain for a new sending stream.
- Rotate DKIM keys.
- Tighten DMARC policy.
Even without changes, run it quarterly. Vendors silently change their SPF includes, rotate IPs, and occasionally break their own DKIM setups. An annual audit catches the slow drift before a campaign does.