Which lists we check
| List | Zone | What a listing means |
|---|---|---|
| Spamhaus ZEN | zen.spamhaus.org | SBL (spam sources), CSS (low-reputation senders), XBL (infected machines), PBL (addresses that shouldn't send directly). The answer code tells you which. |
| Barracuda (BRBL) | b.barracudacentral.org | Used by Barracuda's filters and many mail servers. Removal is by request on Barracuda Central. |
| SpamCop | bl.spamcop.net | Based on spam reports from SpamCop users. Listings expire on their own 24 hours after the last report. |
| PSBL | psbl.surriel.com | IPs that sent to spam traps and aren't known mail servers. Anyone can remove an address on psbl.org. |
| Spamhaus DBL | dbl.spamhaus.org | Domains (not IPs) seen in spam, phishing or malware. Checked when you enter a domain. |
That's a short list on purpose. Mailbox providers like Gmail and Outlook run their own reputation systems and don't publish them; these public lists matter most for mail to companies, schools and smaller providers that run their own filters. A listing on an obscure list with no users rarely affects delivery, so we leave those out.
Why Spamhaus usually says “couldn't check”
Spamhaus doesn't answer queries that come through big public resolvers. Ask through Cloudflare's 1.1.1.1 and it returns 127.255.255.254, its code for “query via public/open resolver”. Ask through Google Public DNS and you get NXDOMAIN, which looks exactly like “not listed”. Your browser can only reach DNS through resolvers like these, so we can't get a real Spamhaus answer from this page.
Plenty of free checkers show a green tick for Spamhaus anyway. We don't. Every list we query has a test entry that must always come back listed (RFC 5782 requires 127.0.0.2 for IP lists). We query it alongside your address, and if the test entry doesn't come back listed, we report “couldn't check” rather than trusting the “not listed”.
To check Spamhaus properly, use Spamhaus's own lookup at check.spamhaus.org. The same goes for any list that shows “couldn't check”: the result row links to the operator's lookup page.
| Answer | What it means | We show |
|---|---|---|
| NXDOMAIN, and the test entry is listed | Not on the list | Not listed |
127.0.0.2 (or another documented 127.x code) | On the list; the code says why | Listed, with the reason |
127.255.255.252 / .254 / .255 | Spamhaus errors: bad query, public resolver, too many queries | Couldn't check |
127.0.0.1 | Query refused (RFC 5782 says it must never mean listed) | Couldn't check |
An address outside 127.0.0.0/8 | Something rewrote the DNS answer | Couldn't check |
| NXDOMAIN for the test entry too | The resolver isn't passing real answers | Couldn't check |
Which IP to check
Blocklists list the IP address that connected to the receiving server, not your domain. Your domain alone doesn't say which address that was, so:
- You use Google Workspace, Microsoft 365, Mailchimp, SendGrid or similar: your mail goes out from the provider's shared IPs, and the provider watches and cleans those itself. Checking your domain will usually find no single IPs, and that's expected. If a bounce names a blocklist, take the IP from the bounce or from the message headers.
- You run your own mail server or have a dedicated IP: enter your domain. We take the single addresses from your SPF record (
ip4:with one address, and the A records behindaandmx) and check each. - You have a bounce or a received message: paste the headers into the email header analyzer. It finds the sending IP and links straight back here.
If you're listed
- Find the cause. Common ones: a mailbox with a stolen password sending spam, a website contact form bots abuse, a bought or very old mailing list hitting spam traps, or malware on a machine behind the same IP.
- Fix it. Reset passwords and turn on two-factor sign-in, add a CAPTCHA to forms, clean the list. Until the cause is gone you'll be relisted.
- Request removal through the list's own page: Barracuda Central's removal form, PSBL's self-removal, Spamhaus's lookup. SpamCop listings expire 24 hours after the last report, so there's nothing to request there.
- On shared hosting the IP may be listed because of another customer. Ask your host to move you or fix it.
How the lookups work
Like our other checks, every query goes from your browser to Cloudflare's public DNS-over-HTTPS service, with Google Public DNS as a backup. We don't receive the IP or domain you check. A blocklist lookup is an ordinary DNS query for the reversed IP under the list's zone: 203.0.113.25 on SpamCop becomes 25.113.0.203.bl.spamcop.net.
Questions
Is this the same as checking whether my domain is blacklisted?
Mostly no. Nearly all blocklists that affect delivery list IP addresses, not domains. We check the domain itself on Spamhaus's domain list (DBL), and the single IPs its SPF record names on the IP lists.
Why don't you show Spamhaus as clean?
Because we can't know. Spamhaus refuses lookups through public resolvers like Cloudflare and Google, which is all a browser can use. Showing that as “not listed” would be a guess. Use check.spamhaus.org for a real answer.
My domain shows no IPs to check. Is that bad?
No. It means your SPF record only uses include: entries for providers like Google, Microsoft or SendGrid. Their shared IPs are their responsibility. Paste a message's headers into the header analyzer to find the exact IP a message used.
I'm listed on one list but mail is delivered fine. Should I worry?
Check who uses that list. A Spamhaus or Barracuda listing will cost you mail to companies that filter with them. A SpamCop listing clears itself within 24 hours of the last report. Either way, a listing means something sent mail that looked like spam, so find out what.
Can you check IPv6 addresses?
Not yet. Most of these lists only cover IPv4, and most mail still leaves over IPv4.
Sources
- Spamhaus — DNSBL usage and return codes
- Spamhaus — Domain Blocklist (DBL) return codes
- Spamhaus — Queries via public resolvers like Cloudflare return 127.255.255.254
- SpamCop — Blocking list information
- Barracuda Central — Removal request
- PSBL — Passive Spam Block List
- RFC 5782 — DNS blacklists and whitelists
Last reviewed: