Find out why your email lands in spam. Send one real email to the test address below, from your mail app, newsletter tool, website or server, then press Check my score. The test reads the message exactly as a receiving mail server sees it and scores it out of 10, with the reason for every point lost and how to fix it.
Send it the way you normally send: from your mail app, your newsletter tool, your website or your server. Use a real subject and real content, so the test sees what your recipients see.
We wait for your email, check it from every angle and score it out of 10.
- Waiting for your email
- Email received
- Checking SPF, DKIM, DMARC, blacklists and spam filters
0:00
Table of Contents
What the email test checks
Authentication: whether SPF allows the server that sent the message, whether every DKIM signature verifies against the key in DNS, and whether DMARC passes because SPF or DKIM lines up with the domain in the From address.
The sending server: reverse DNS (PTR) of the sending IP and whether it resolves back, the HELO name, whether the connection used TLS, and 30 DNS blacklists. Then the full message goes through SpamAssassin, the same filter many hosting servers use, and through content checks for links, URL shorteners, images, the plain-text part, List-Unsubscribe and missing headers.
How the score works
Every message starts at 10. Failed authentication costs the most: a missing or failing SPF record up to 1.5 points, a broken DKIM signature 1.5, a DMARC failure 1.5 and a listed sending IP up to 3. The SpamAssassin score is subtracted as it is, up to 5 points, and smaller problems cost between 0.2 and 0.5.
9 or more means the test found nothing it can see holding your mail back; 7.5 or more is good. Below 5 it found serious problems, such as failing authentication or a blacklist listing, that commonly send mail to spam. Treat the score as a list of what to fix first, not a forecast of where Gmail or Outlook will put a given message. The Points deducted table shows exactly where every point went.
Testing the right thing
Send the test the same way your real mail goes out. A newsletter sent through Mailchimp or MailBaby, a WooCommerce order email sent by your website and a reply from Outlook can all score differently, because each leaves through a different server with different signatures.
Use real content. A one-word test message may pass every check while your actual newsletter trips content rules.
Your privacy
Each address works for two hours and accepts mail only for the test it belongs to. The message is read once, analysed and deleted; the report is kept for 30 days so you can share it, and then removed. Free use is limited to a few tests per day so the service stays fast for everyone.
Email Deliverability Test (Spam Score) at a glance



How to use this tool
- Copy the test address with the Copy button. One wrong character sends your email somewhere else.
- Send one email to it from the system you want to test: the same mailbox, website, server or newsletter account that sends your real mail. For a website, put the test address in a contact form or as the order notification recipient; for a newsletter tool, add it to a small test segment.
- Press Check my score. The page checks for your email every few seconds for up to 3 minutes. Once it arrives, the analysis takes up to 30 seconds.
- Read the score, then the tables underneath, starting with Points deducted. Each problem comes with a fix and, where useful, a link that runs the matching tool for your domain.
- Copy the page link to share the report with your host or developer. It stays available for 30 days.
If you need to test a second sender, get a new address: each address belongs to one test and stops accepting mail after 2 hours.
How to read the results
The report has five parts: the summary (score, From, Subject, the sending IP and the spam filter score), Authentication, Sending server, the spam filter rules that matched, and Content and headers. The full header list is at the bottom, collapsed.
Where the points go
| Problem | Points |
|---|---|
SPF fail | -1.5 |
SPF softfail, none or permerror | -1 |
SPF neutral or temperror | -0.5 |
| No DKIM signature | -1 |
| DKIM signature present but none verifies | -1.5 |
| DMARC fails (neither SPF nor DKIM aligned with From) | -1.5 |
| No DMARC record | -0.5 |
DMARC passes but policy is p=none | -0.2 |
| No reverse DNS for the sending IP | -1 |
| Reverse DNS does not resolve back to the IP | -0.5 |
| HELO name does not resolve to the sending IP | -0.3 |
| Delivered without TLS | -0.5 |
| Sending IP on a blacklist | -1.5 per major list, -0.5 per medium list, -0.2 per minor list, at most -3 |
| Spam filter score (SpamAssassin or Rspamd) | the score itself, at most -5 |
| Sender or link domain on a domain blacklist | -1.5 |
| Image-only email | -0.5 |
| URL shorteners in links | -0.5 |
| No Message-ID header | -0.5 |
| No plain-text part | -0.3 |
| Links to bare IP addresses, or link text showing a different domain from the real target | -0.3 |
| No Date header | -0.3 |
| Mostly images, HTML over 102 KB, or subject in capitals | -0.2 each |
The words next to the score are fixed bands: 9 or more Excellent, 7.5 or more Good, 5 or more Needs work, below 5 Poor. BIMI, Reply-To and attachments are reported for information only and never cost points. List-Unsubscribe is shown as a warning when it lacks the one-click header, but is not scored, because personal and transactional mail does not need it.
Rows that need a word of explanation
| Row | What it means |
|---|---|
| SPF | Evaluated for the sending IP against the envelope sender (Return-Path) domain. The mechanism that matched is shown, plus the record. |
| DKIM (one row per signature) | Each signature is verified against the message body and the key in DNS. The row shows the domain, selector, algorithm and key size; an RSA key under 1024 bits is marked as a warning. |
| DMARC | Whether SPF or DKIM passed for a domain that matches the From domain, under the alignment mode (aspf, adkim) your record sets. |
| HELO name | The name your server introduced itself with. It should resolve to the sending IP. |
| Encryption (TLS) | Whether your server used TLS when it delivered to us. Gmail requires TLS from bulk senders. |
| Spam filter rules | Every rule that matched, highest points first. Rules worth 0 are listed for context. |
| HTML size | Gmail clips messages whose HTML exceeds 102 KB and hides the rest behind a link, including any unsubscribe link at the bottom. |
Common problems and how to fix them
“We have not received your email yet”
Nothing arrived within 3 minutes. Check the Sent folder and any bounce first. Newsletter tools and website queues often send in batches, so wait a few more minutes. If the email was sent from your own server, look at its queue: a message stuck there usually means the server cannot connect out on port 25, which many cloud providers block by default.
exim -bp | head # cPanel, DirectAdmin
postqueue -p | head # Postfix
SPF fails for email sent by a website
PHP mail() on a hosting server sends with the server as the envelope sender, from an IP your domain’s SPF record may not list. Either send through an authenticated SMTP mailbox (a WordPress SMTP plugin, for example) or add the server to your SPF record. On cPanel, Email Deliverability shows the record it expects and can repair it. See SPF, DKIM and DMARC in cPanel DNS.
“DKIM signature invalid”
Two causes cover most cases. After a server migration the new server signs with a new key while DNS still has the old one: compare the key in DNS with the one in the control panel. Or something changes the message after signing, such as a gateway that adds a footer. Check the published key for the selector shown in the row:
dig +short TXT default._domainkey.example.com
DMARC fails for newsletter or CRM mail
The service signs with its own domain and uses its own bounce domain, so neither SPF nor DKIM aligns with your From address. In the service’s settings, set up domain authentication (often called a custom or branded sending domain) so it signs with d=example.com, and publish the DNS records it gives you.
No reverse DNS, or reverse DNS not forward-confirmed
Only the owner of the IP range can set the PTR record, so ask your host or data centre. Set it to the server’s mail hostname, then make sure that hostname has an A record pointing back to the same IP. Mail sent directly from a home or office connection should go through a relay instead.
High spam filter score
Read the rules table from the top. A few that come up often:
MIME_HTML_ONLY: the message only has an HTML part. Add a plain-text alternative.HTML_IMAGE_RATIO_02and theHTML_IMAGE_ONLYfamily: too little text for the amount of images. Write the message as text and use images as support.RDNS_NONE: the sending IP has no reverse DNS (see above).BAYES_99: the filter’s statistics rate the wording as very likely spam. Rewrite the subject and opening lines and remove sales phrasing.FREEMAIL_FROM: the From address is a free mailbox such as Gmail. Send from your own domain.
A domain in the email is blacklisted
The From domain or a domain you link to is on Spamhaus DBL, URIBL or Nordspam. Check each link domain with the IP and domain blacklist check. Shared tracking domains of newsletter services and URL shorteners are frequent culprits; switch to a tracking domain on your own domain.
Official documentation: RFC 7208 (SPF), RFC 6376 (DKIM), RFC 7489 (DMARC), Google email sender guidelines.
Related guides: SPF DKIM DMARC cPanel DNS: Easy Setup · Warm Up New Mail Server IP Without Spam Problems · Outgoing Spam cPanel: Find the Source and Stop It.
Frequently asked questions
Does a score of 10 guarantee the inbox?
No. The test checks everything that can be checked from one message: authentication, server setup, blacklists and content. Gmail and Outlook also weigh your sending history and how recipients treat your mail, which no outside test can see.
Why does my email fail DMARC when SPF passes?
SPF is checked against the envelope sender (Return-Path), which newsletter services often set to their own domain. DMARC needs SPF or DKIM to match the domain in the From address, so sign with DKIM for your own domain at the sending service.
How many tests can I run?
5 tests a day without an account, 10 with a free account and more with srvScripts Pro. Each new test address counts as one test.
Is the content of my email stored?
The message is deleted right after it is analysed. The report, which includes the headers, subject and the domains of links, is kept for 30 days so the share link works.
Why do other mail testers give a different score?
Each tester runs its own filters and weights problems differently. Compare the individual findings rather than the number: a failing SPF record or a blacklisted IP is a real problem whichever tool reports it.
Does this test show whether Gmail puts my email in the inbox or spam?
No. It analyses the message the way a receiving server does, but it is not a Gmail or Outlook mailbox. Inbox placement also depends on your sending history and recipient engagement, which only the mailbox provider sees.
Can I test emails sent by WordPress, WooCommerce or a contact form?
Yes. Enter the test address as the recipient in the form or as the notification address, trigger the email, then press Check my score. This is often the most useful test, because website mail leaves through a different route than your mailbox.
What spam filter score is acceptable?
In SpamAssassin, 5.0 is the usual threshold for spam. This test marks anything above 2 as a warning and deducts the full score from your 10, so aim for 0 or below.
Do transactional emails need List-Unsubscribe?
No. Gmail and Yahoo require one-click unsubscribe for marketing and subscribed mail from bulk senders. Password resets, receipts and personal mail do not need it, and the test does not deduct points for its absence.
Why does BIMI not show my logo even though the record exists?
BIMI needs a DMARC policy of quarantine or reject at 100 percent. Gmail and Apple Mail also require a mark certificate (a VMC, or a CMC where the provider accepts it) in the record’s a= tag. The BIMI row tells you which part is missing.