← Blog/Deliverability

How to run an email deliverability test, step by step

October 15, 2026·7 min read·By MailPilot

A deliverability test answers a specific question: for this domain, with this content, sent to this provider, does mail land in the inbox, the spam folder, or get rejected - and why. Sending yourself a test email and seeing it arrive answers none of that, since a message to an address you've already engaged with heavily tells you nothing about placement to a stranger's inbox.

What an actual test checks

  1. Inbox vs. spam placement, per provider. A seed-inbox test - sending to a panel of real, unengaged addresses across Gmail, Outlook, Yahoo and others - is the only direct way to measure this, since your own inbox's history with your domain isn't representative.
  2. Authentication status, confirmed on delivered mail. Not just whether SPF/DKIM/DMARC are published in DNS, but whether they're actually passing on the message as received.
  3. Spam-score style content flags, where available - fewer mailbox providers expose this directly now than in the past, but a basic content review against known risk patterns (excessive links, urgency language) still catches obvious issues.

Reading the headers that matter

The most direct evidence is in the message headers of a received test email, specifically the Authentication-Results header:

Authentication-Results: mx.google.com;
       dkim=pass header.i=@example.com header.s=selector1;
       spf=pass (google.com: domain of bounce@example.com designates
       203.0.113.10 as permitted sender) smtp.mailfrom=bounce@example.com;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=example.com

Each line confirms (or fails) one mechanism. dmarc=pass with dis=NONE means DMARC passed and no disposition was applied - the message was treated as legitimate. If instead you see dmarc=fail or dkim=fail, that's the specific mechanism to fix before looking anywhere else.

A step-by-step test

StepWhat to do
1Send the actual campaign content (not a stripped-down "test" version) to a seed-inbox panel across major providers
2Check placement: inbox, promotions/categorized tab, or spam, per provider
3Pull the Authentication-Results header from a received copy and confirm all three mechanisms pass and align
4Cross-check against Google Postmaster Tools spam-rate band for the sending domain
5Repeat after any DNS or content change, since a single test is a snapshot, not an ongoing guarantee

A note on Gmail's Promotions tab

If a seed test shows a message in Gmail's Promotions tab, that still counts as inbox delivery at the mail-server level - Promotions carries the INBOX label internally, distinct from Spam. Don't read "landed in Promotions" as a failure; it's a tab placement decision, not a filtering failure, though it's worth tracking separately from Primary-tab placement if inbox position specifically matters to your use case.

A worked example: diagnosing a mixed-result test

A seed-inbox test comes back with Gmail and Yahoo both showing inbox placement, but Outlook landing the message in Junk. Pulling the Authentication-Results header from the Outlook-delivered copy shows:

Authentication-Results: spf=pass smtp.mailfrom=bounce@example.com;
       dkim=none (message not signed);
       dmarc=fail action=oreject header.from=example.com

The cause is immediately visible: DKIM shows none, meaning this particular send path isn't signing at all, even though DKIM passes fine on the Gmail and Yahoo copies. That points to a specific, checkable cause - a second sending tool or ESP added to the stack that wasn't included when DKIM was originally configured, so its outbound mail isn't signed while the primary ESP's mail is. SPF alone passing isn't enough for DMARC alignment if the domain's DMARC policy requires DKIM alignment too, which is why dmarc=fail shows even with spf=pass. The fix is adding a DKIM selector for the second sending tool, not touching SPF or DMARC at all - a problem that would be easy to misdiagnose as "Outlook just filters us more aggressively" without reading the actual header.

Common header patterns and what they mean

Header patternLikely causeWhat to check next
spf=pass, dkim=noneA sending tool isn't configured to sign with DKIMAdd a DKIM selector for that specific tool/ESP
spf=softfail or spf=failA legitimate sending source is missing from the SPF recordAudit every tool that sends as this domain; add missing includes
dmarc=fail despite one mechanism passingAlignment issue - the passing mechanism's domain doesn't match the From-header domainCheck that DKIM's d= or SPF's envelope domain matches the visible From domain
All three pass, still landing in spamContent or engagement-based filtering, not authenticationReview content patterns and recent engagement/complaint history instead

What not to do

  • Don't test by emailing your own inbox or coworkers' inboxes - prior engagement with your domain makes the result meaningless for how a new recipient's inbox would treat the same mail.
  • Don't test with a simplified "test message" instead of actual campaign content - content and link patterns affect filtering, so a stripped-down test doesn't represent the real send.
  • Don't treat one passing test as permanent - a DNS change, a new sending tool added without updating SPF, or a reputation shift can change the outcome on the next send.
  • Don't ignore a provider-specific failure because overall placement looks fine - a domain passing at Gmail but failing at Outlook is still a real problem for every Outlook-using recipient.

MailPilot runs exactly this kind of test as a matter of course: real seed-inbox placement checks across providers, authentication verification against mail as delivered, and per-mailbox reputation tracked daily - so a deliverability test is a standing measurement, not a one-off check run only when something already feels wrong.

MailPilot

Ready to reach the inbox every time?

Automated email warmup across real peer mailboxes. Live inbox placement monitoring. Free 7-day trial - no credit card required.

Start free trial
Reach the Inbox, Every Time
Connect unlimited inboxes for warmup. Free 7-day trial, no credit card.
Try for Free
WORKS WITH
OZOHO
inbox placement99.2%
free trial7-day
companies trust us340+

Start for free - no credit card required.

Get started freeBook a demo