Email Deliverability Test

Send one real email to a one-time address and see how it arrived: the sending server, SPF, DKIM, DMARC, content and SpamAssassin, scored out of 10.

Received by our own mail server (Cloudflare Email Routing as the backup) · SpamAssassin 4, local rules · Gmail's, Yahoo's and Outlook.com's sender rules · the full body is deleted after the analysis

How to test your email deliverability

Send one real email to the address above, the way you always send it. The report builds as each part is checked.

1. Copy the test address. It takes one message for 2 hours. Nothing to sign up for, and we never email you back.

2. Send from the setup you really use: your mail app, your own server, or your email platform's real campaign to a segment that holds the address. A test reads the path the message took, so a message sent some other way tests something else.

3. Read the report. Our mail server records how your server connected (its address, its HELO name and the TLS it chose), then every check runs on the message itself: SPF, DKIM, DMARC, the format, the content, the unsubscribe headers and SpamAssassin. Most reports finish within a minute of the message arriving.

Fixed something? Re-check DNS reads SPF, DMARC, the DKIM keys and the reverse DNS again for the same message, without sending a new one (three times per report, a minute apart).

  1. Your mail appyou press Send14:02:10
  2. Your sending serveryour email serviceSendGrid · 198.51.100.24
    Reverse DNS (PTR)HELO nameBlocklists
  3. Our mail serverreceives it over TLSmailprobe.dnsrobot.net · TLSv1.3
    the SMTP sessionTLS versionEHLO and pipeliningLine endings
    the messageSPFDKIMDMARCARCFormatContentUnsubscribe
  4. Your reportparts appear as they're checked14:02:24
    SpamAssassinGmail · Yahoo · Outlook.com rulesScore
Backup: Cloudflare Email Routingroute1–3.mx.cloudflare.nettakes the mail if our server is down; it doesn't pass on the TLS details
What happens to your message
0 sarrives at our mail server11 sanalysis done: the body and attachments are deleted7 daysheaders, links and the preview deleted (or sooner: Delete report)
The example on this page: a newsletter sent through SendGrid. Each check lights where it happens: the sending server's identity, the SMTP session our server saw, the message's signatures and content, then SpamAssassin and the inbox providers' rules.
Email deliverability test report for a newsletter from example.org: a score out of 10 with its deductions, Gmail's, Yahoo's and Outlook.com's rules, and the checksEmail deliverability test report for a newsletter from example.org: a score out of 10 with its deductions, Gmail's, Yahoo's and Outlook.com's rules, and the checksThe scoreTen points minus deductions. The ring is made of them, and each one names its rule and where that rule comes from.Inbox rulesGmail's, Yahoo's and Outlook.com's sender requirements, met, missing or can't tell from one message.Each checkThe report lists the sending server, SPF, DKIM, DMARC, format, content, unsubscribe and SpamAssassin, each with what it found and what to fix.The deductionsEach one with its points and the rule behind it; warnings that cost nothing are listed apart.
A made-up test report: one newsletter from example.org, scored out of 10. Select a number to see what each part shows.

Email spam checker: what your score is made of

Ten points, minus deductions that each name their rule. A check we couldn't run never costs a point.

The table below is the scoring code itself, so the page can't say one thing while the score does another. The heavy deductions are the ones receivers act on: DMARC failing, nothing authenticating, a major blocklist, no reverse DNS.

Some rules count only for bulk mail. Gmail, Yahoo and Outlook.com ask bulk senders for both SPF and DKIM, DMARC and one-click unsubscribe; a one-to-one message gets those as recommendations, at 0 points.

Rows marked 0 points are warnings whose source we haven't confirmed yet: they show, and they cost nothing until a provider's own page backs them.

What is a good spam score?

Here, 10 means no deduction was found and 8 or more is in good shape. SpamAssassin's own scale runs the other way: its default spam threshold is 5.0, and its documentation calls that quite aggressive. A clean newsletter often scores about 1, which costs nothing here; above 2.0 half of SpamAssassin's points count, at most 3.

A made-up report7.8

10 − 1.5 − 0.7 = 7.8

  1. 1Bulk mail without working one-click unsubscribe (RFC 8058: both headers, signed by DKIM)
  2. 2SpamAssassin 3.4
What we foundPoints offPart
Neither SPF passes nor any DKIM signature verifies−3SPF
DMARC fails: no aligned SPF or DKIM pass, and the From domain publishes a policy−2.5DMARC
The From header has no single domain DMARC can apply to−2DMARC
The From domain publishes no DMARC recordbulk mail only−1DMARC
SPF fail: the record says this server may not send−1SPF
SPF softfail or neutral−0.5SPF
No SPF record for the MAIL FROM (or HELO) domain−1SPF
SPF permerror: a broken record or more than 10 DNS lookups−1SPF
The message isn't DKIM-signedbulk mail only−1DKIM
DKIM-signed, but every signature fails (treated as unsigned)bulk mail only−1DKIM
A signature uses an RSA key under 1,024 bits−1DKIM
DKIM passes, but no passing signature matches the From domain−0.5DKIM
The sending address is on a major blocklist−3Sending server
The sending address is on a smaller blocklist−1Sending server
The sending address has no reverse DNS (PTR)−2.5Sending server
The PTR name doesn't resolve back to the sending address−1.5Sending server
HELO is not a fully qualified name−0.5Sending server
The server sent without TLS−1.5SMTP session
Bare LF or CR line endings in the message0a warning, not counted in the score (−0.5 once a source is cited)SMTP session
From is missing, repeated, unreadable, or lists several mailboxes without Sender−2Format
Date is missing or unreadable−1Format
Message-ID is missing or malformed−1Format
Date is more than a day from the time it arrived0a warning, not counted in the score (−0.5 once a source is cited)Format
A field that may appear once appears twice−0.5Format
Lines longer than 998 characters−0.25Format
Images with almost no text0a warning, not counted in the score (−1 once a source is cited)Content
HTML with no plain-text version−0.5Content
HTML over about 102 KB: Gmail may clip it0a warning, not counted in the score (−0.5 once a source is cited)Content
Links through URL shorteners0a warning, not counted in the score (−1 once a source is cited)Content
Links to a bare IP address0a warning, not counted in the score (−1 once a source is cited)Content
Links to a domain that imitates another0a warning, not counted in the score (−2 once a source is cited)Content
javascript:, data: or file: links0a warning, not counted in the score (−2 once a source is cited)Content
Link text shows one domain and the link goes to another0a warning, not counted in the score (−0.5 once a source is cited)Content
An attachment type Gmail blocks0a warning, not counted in the score (−2 once a source is cited)Content
Links to a host Cloudflare's security resolver blocks (malware or phishing)0a warning, not counted in the score (−2 once a source is cited)Content
Scripts, iframes, forms or embedded objects in the HTML−1Content
1Bulk mail without working one-click unsubscribe (RFC 8058: both headers, signed by DKIM)−1.5Unsubscribe
2SpamAssassin's points above 2.0half the points over 2.0, at most 3SpamAssassin
SpamAssassin's score reaches its spam threshold−2SpamAssassin
Not checked, or can't tell from one message0–
The table the score uses (version 2026-10-31.1): 10 minus every row that applies, never below 0. A part we couldn't check deducts nothing; bulk-mail rows cost points only on bulk mail; a row at 0 is a warning we show but don't count in the score.

Why emails land in spam

A receiving server decides in steps. One test message shows the first four; the last one only the receiver sees.

Who is connecting. The address your server sends from: is it on a blocklist, does it have a reverse DNS name that points back to it, did it use TLS? Gmail answers a missing reverse DNS with 4.7.23 or 5.7.25.

Who it claims to be. The HELO name and the envelope sender, checked with SPF. A failing SPF is a reason to defer or refuse, not just to file in spam.

Whether it's really from the From domain. DKIM signs the message, and DMARC checks that SPF or DKIM passes for the domain people see in From. Since 2024 Gmail, Yahoo and Outlook.com refuse or defer bulk mail that misses this.

What it says. Links, HTML, attachments and a content filter's score. This is where spam folders come from more often than refusals.

What your recipients do with it. Complaint rate, opens, replies and your sending history. No single message can show that: Google's Postmaster Tools shows Gmail's view, and Gmail asks for a spam rate below 0.3%.

What a receiving server checks, in order
  1. Who is connectingBlocklistsReverse DNSTLSRefused with: 4.7.23 · 5.7.254.7.29
    In this test
  2. Who it claims to beHELOSPFRefused with: 4.7.27 · 5.7.27
    In this test
  3. Really from the From domainDKIMDMARCFormatRefused with: 4.7.30 · 4.7.32 · 4.7.40550 5.7.515
    In this test
  4. What it saysLinksHTMLSpamAssassin
    In this test
  5. What recipients doComplaintsEngagementHistoryGmail asks for a spam rate below 0.3% in Postmaster Tools.
    Not in one message

Gmail, Yahoo and Outlook.com sender rules, and the codes they refuse with

When a provider defers or refuses a message, the reply code names the rule. Each one maps to a row of the report.

Gmail's codes start with 4 when the message is deferred (your server tries again) and 5 when it's refused. They reuse numbers that mean other things in the official list: read them with Gmail's own table, not a generic one.

Yahoo's FAQ says a bulk sender is one "sending a significant volume of mail. We will not specify a volume threshold." Gmail and Outlook.com draw the line at about 5,000 messages a day.

Reply codes Gmail and Outlook.com send for their sender rules, and the report row that shows each
CodeProviderWhat it meansReport row
4.7.23 · 5.7.25GmailThe sending address has no reverse DNS (PTR), or its name doesn't resolve back to itSending server
4.7.27 · 5.7.27GmailSPF didn't pass (bulk senders)SPF
4.7.29 · 5.7.29GmailThe message wasn't sent over TLSSMTP session
4.7.30 · 5.7.30GmailDKIM didn't passDKIM
4.7.40 · 5.7.40GmailNo DMARC record or policy for the sending domain (4.7.31 in Gmail's sender FAQ)DMARC
4.7.32 · 5.7.32GmailThe From domain isn't aligned with the SPF or DKIM domainDMARC
550 5.7.515Outlook.comA high-volume sending domain doesn't meet Outlook.com's SPF, DKIM and DMARC requirementDMARC

Who counts as a bulk sender

Gmail

About 5,000 messages or more to personal Gmail accounts within 24 hours, counted per primary domain. Once is enough: you stay a bulk sender.

Yahoo

"A significant volume of mail." Yahoo doesn't give a number.

Outlook.com

Domains sending more than 5,000 messages a day to Outlook.com, Hotmail and Live addresses.

One-click unsubscribe: the two headers bulk senders need

Gmail and Yahoo ask bulk mail for one-click unsubscribe (RFC 8058) and a visible unsubscribe link in the message.

One-click needs two headers. List-Unsubscribe holds exactly one HTTPS address (a mailto: may sit beside it), and List-Unsubscribe-Post says List-Unsubscribe=One-Click. A DKIM signature that passes must cover both, or a forwarder could change where the click goes.

The click is a POST, not a link someone opens: spam filters fetch every URL they find in the headers, and a plain link would unsubscribe the reader by itself. The same is why this test never fetches your message's links.

Yahoo accepts a mailto: link in List-Unsubscribe; Gmail wants the HTTPS one-click. Transactional mail, like receipts and password resets, doesn't need either.

The report also looks for an unsubscribe link in the body, in the words of twelve languages. Finding none is "can't tell", never a failure: the word may be one we don't know.

The headers of one-click unsubscribe (RFC 8058), and what each provider accepts
  1. List-Unsubscribe: <https://example.com/unsubscribe/opaquepart>, <mailto:unsub@example.com>Exactly one HTTPS address; a mailto: may sit beside it
  2. List-Unsubscribe-Post: List-Unsubscribe=One-ClickExactly this value
  3. DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=s1; h=from:to:subject:date:list-unsubscribe:list-unsubscribe-post; …DKIM must sign both headers
What each one accepts
What each one acceptsGmailYahoo
HTTPS, Post header, both signedacceptedaccepted
mailto: onlynot one-clickaccepted
HTTPS without the Post headernot one-clicknot one-click

Check it in your own inbox

No placement test needed to see what one provider decided: send the same email to your own Gmail, Outlook.com or Yahoo address and paste what arrived.

Open the copy in your inbox and use Show original (Gmail) or View source (Outlook.com, Yahoo Mail), then paste it under the test address above, or save it as an .eml file and choose that. The card reads the results that provider wrote on that copy: SPF, DKIM and DMARC as it checked them, and Microsoft's spam and bulk levels where they are.

That is one provider's verdict on one copy. An inbox placement test sends to many seed mailboxes and reports where each copy landed that day; it is a different measurement, and we don't run one.

The same paste also runs the checks that read the message itself: format, content and links, the unsubscribe headers and SpamAssassin. A pasted email's text or HTML alone gets the content checks and SpamAssassin.

One copy in a Gmail inbox, and the results Gmail wrote on itReceived: from mta1.news.example.org (mta1.news.example.org. [192.0.2.25]) by mx.google.com with ESMTPS …
Authentication-Results: mx.google.com; dkim=pass header.i=@news.example.org header.s=s1; spf=pass smtp.mailfrom=bounce@news.example.org; dmarc=pass (p=NONE) header.from=news.example.org
  1. spf=passSPF passed for the envelope sender's domain at the address that connected
  2. dkim=passDKIM: a signature by news.example.org verified
  3. dmarc=passDMARC passed: SPF and DKIM both match the From domain
The same email in an Outlook.com inbox, and what Microsoft addsAuthentication-Results: spf=pass (sender IP is 192.0.2.25) smtp.mailfrom=news.example.org; dkim=pass (signature was verified) header.d=news.example.org;dmarc=pass action=none header.from=news.example.org;compauth=pass reason=100
X-Forefront-Antispam-Report: CIP:192.0.2.25;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mta1.news.example.org;PTR:mta1.news.example.org;CAT:NONE;SFS:;DIR:INB;
X-Microsoft-Antispam: BCL:4;
Received: from mta1.news.example.org (192.0.2.25) by DB5PEPF00014B8F.mail.protection.outlook.com …
  1. compauth=passMicrosoft's own check of the From domain: reason 100, SPF or DKIM passed with aligned domains
  2. BCL:4Bulk complaint level 4, a mixed number of complaints: below Microsoft's thresholds (7 by default, 5 at its strictest)
  3. SCL:1Spam confidence level 1: from 0 to 4 it doesn't decide the verdict, it's one input to filtering
Made-up copies (example.org, a documentation address). The paste card shows these results for any copy you paste, as the provider wrote them.

Email tester or email checker: which one do you need?

An email deliverability checker reads your sending. An email checker reads an address. Here is which tool answers which question.

ToolYou give itIt answers
Email deliverability testOne real email you sendHow it arrived: server, SPF, DKIM, DMARC, content, SpamAssassin and the providers' rules, scored out of 10
Email CheckerAn email addressWhether its mailbox exists, by asking its mail server and stopping before anything is sent
Email Header AnalyzerThe header of an email you receivedIts path, and what the receiving provider decided about SPF, DKIM and DMARC
SMTP TestA mail serverIts greeting, TLS, certificate and whether it relays for strangers
SPF, DKIM and DMARC checkersA domainThe records it publishes and what is wrong with them
Inbox placement testOne send to many seed mailboxesWhich folder it landed in at each provider, that day. We don't run seed mailboxes, so we don't offer one

What we keep, and for how long

The address is random and opens nothing else. The full body of your message is deleted the moment the analysis ends.

The report keeps the headers, the links, a 140-character preview and what each check found; the full body and attachments are deleted. It stays 7 days, opened only by its link, and Delete report removes it at once.

To score it, the raw message goes once to SpamAssassin on our own mail server and is scored in memory. Nothing you send is used for anything else, and we never email you or the sender.

What happens to a test message
  1. 0Your test address is made: random, one message
  2. ≤ 2 hYour email arrives at our mail server
  3. ~1 minChecked; the full body is deleted
  4. 7 daysThe report (headers and findings) is deleted
Delete report removes it at any time.

Frequently asked questions

How do I send a test email?

Copy the test address at the top of this page and send your email to it the way you normally send: from your mail app, your own server or your email platform. For a newsletter, add the address to a small segment and send the real campaign. The report starts as soon as the message arrives.

Is this email deliverability test free?

Yes. There is no sign-up and no daily cap, and we never email you back. Each test address takes one message for 2 hours, so run a new test for each email you want to check. Only very frequent requests from one network are slowed for a minute.

What is a good spam score?

Here, 10 out of 10 means no deduction was found, and 8 or more is in good shape. Every deduction names the rule behind it. SpamAssassin's own number runs the other way: its default spam threshold is 5.0, and a clean newsletter often scores about 1.

Does a 10/10 mean my email will reach the inbox?

No. A test reads one message: how it was sent, signed and written. Inbox placement also depends on your recipients' complaints and engagement and your sending history, which no single message shows. Inbox placement tests send to many seed mailboxes and show where one send landed that day; we don't run those, so we never claim the inbox.

Why hasn't my test email arrived?

Most messages arrive within seconds. If yours hasn't after a few minutes, check the address for typos, and check your sent folder or your platform's log. A sending domain whose DMARC policy is reject can have mail refused before it reaches us. After a minute and a half the waiting card lists the usual reasons, and what our backup server refused when it can tell.

Why do my emails go to spam in Gmail but not in Outlook?

Each provider runs its own filters and its own rules. Gmail asks every sender for SPF or DKIM, reverse DNS and TLS, and bulk senders for DMARC and one-click unsubscribe; Outlook.com requires SPF, DKIM and DMARC of domains sending over 5,000 messages a day. The report checks each provider's rules separately.

Can I test a newsletter from my email marketing platform?

Yes. Add the test address to a segment and send the real campaign, so the message carries the same unsubscribe headers, tracking links and signature your subscribers get. A platform's "send a test" button may skip some of them, which can make the report differ from the real send.

Is my email stored, and who can see the report?

The full message body and attachments are deleted as soon as the analysis ends. The report keeps the headers, the links, a 140-character preview and what each check found for 7 days, and only the report's link opens it: the address is random. Delete report removes it at once. We never use what you send for anything else.

What's the difference between an email deliverability test and an email checker?

An email deliverability test reads an email you send: how your server, your DNS records and your message look to a receiver. An email checker reads an address: whether its mailbox exists, by asking its mail server without sending anything. Use this page for your sending, the Email Checker for a list of addresses.

Can I check an email for spam without sending it?

Yes. Paste the email's text or HTML under the test address: we check its content, its links and SpamAssassin's rules, and keep nothing. Paste a whole message's source (or choose an .eml file) to add the format, the unsubscribe headers and, for a copy that arrived in an inbox, that provider's own SPF, DKIM and DMARC results. The sending server and the score out of 10 need a sent test.

How often should I test my email deliverability?

After any change to your DNS records, your sending platform or your email templates, and before a large campaign. After a fix, Re-check DNS on the same report shows whether it worked without sending again. To follow every receiver's view over time, publish DMARC with a report address.

Missing something?Suggest a feature or a new tool