guides
Email blocklist removal: getting your domain or IP delisted
April 25, 2026

Your transactional mail just stopped landing. No bounce you can read, no error in your app, just silence at Gmail and a cryptic
554at a corporate domain. Somewhere, a blocklist decided your IP or domain is a spammer, and nobody told you.
Email blocklist removal starts with confirming the listing, then fixing the cause, then requesting delisting, in that order. A blocklist (a DNSBL, RBL, or "blacklist") is a published list of IPs or domains that receiving mail servers query in real time to decide whether to accept your message. If you are on one a receiver consults, your mail is rejected or silently filed in spam before content filtering even runs. The frustrating part is that nothing in your own stack reports it: the rejection happens at the receiving end, and the only symptom is mail that quietly disappears.
This guide walks the full delisting process the way you would do it by hand, list by list, including the parts that are tedious and the parts where people get scammed. At the end I will show how a Cloudflare-native stack helps you catch a listing early and avoid the most common triggers, but the manual process below is what actually gets you delisted, regardless of what you send through.
How do I know if my domain or IP is on a blocklist?
Query the blocklists directly for your sending IP and your domain. A DNSBL answers a specially formatted DNS lookup: you reverse your IP, append the list's zone, and a returned A record means you are listed. There is no central registry, so you check the lists that matter individually.
For an IP, the lookup is the reversed octets plus the list's domain. For the IP 203.0.113.5 against Spamhaus Zen:
# Reverse the octets, append the blocklist zone, do an A lookup.
# 203.0.113.5 -> 5.113.0.203
dig +short 5.113.0.203.zen.spamhaus.org
# An answer in 127.0.0.x means LISTED. The last octet tells you which list:
# 127.0.0.2 -> SBL (spam source)
# 127.0.0.3 -> SBL CSS (snowshoe/automated)
# 127.0.0.4 -> XBL (exploited/compromised host)
# 127.0.0.10/11 -> PBL (policy: IP should not send mail directly)
# No answer (empty output) means NOT listed on that zone.
Check the other major IP lists the same way:
# Barracuda Reputation Block List
dig +short 5.113.0.203.b.barracudacentral.org
# SpamCop
dig +short 5.113.0.203.bl.spamcop.net
# SORBS aggregate
dig +short 5.113.0.203.dnsbl.sorbs.net
Domains are listed too, and this catches people who are clean on IP. A domain blocklist lists a hostname found in the message (usually the From domain or a link in the body), so you query the bare domain plus the zone:
# Spamhaus Domain Block List (DBL): checks the domain itself, not an IP
dig +short example.com.dbl.spamhaus.org
# SURBL: domains found in message bodies and URLs
dig +short example.com.multi.surbl.org
If you do not want to script this, the web checkers do the same lookups: Spamhaus has a single combined check at check.spamhaus.org, and tools like MXToolbox query 100+ lists at once. The CLI version above is worth keeping, though, because it tells you the exact return code, which tells you exactly which sub-list and reason you are dealing with. "Listed on Spamhaus" is not actionable; "listed on the PBL because this is a cloud IP not registered for direct sending" is.
One caveat before you panic at an MXToolbox report showing five red rows: not all blocklists matter. The lists the big mailbox providers actually consult (Spamhaus, plus a handful of others) are the ones that affect delivery. A long tail of obscure or abandoned lists show up on aggregate checkers and influence essentially nothing. Triage by impact, which the next section covers.
Which blocklists actually matter?
Spamhaus matters most, by a wide margin. Its Zen, DBL, and related zones are used by a large share of the world's mail servers and by the major mailbox providers' filtering, so a Spamhaus listing is the one that genuinely stops your mail. Treat it as priority one.
After Spamhaus, the lists worth caring about:
- Barracuda (BRBL) is widely deployed at corporate and appliance-filtered domains. A Barracuda listing hurts business-to-business delivery in particular.
- SpamCop (SCBL) is consumed by some providers and feeds into reputation systems. It is largely automated and tends to expire on its own.
- SORBS and UCEPROTECT are consulted by a meaningful minority of receivers. UCEPROTECT in particular runs aggressive escalation tiers and a paid express-delisting option, which puts it on the edge of legitimacy; fix the cause and use the free path.
- Microsoft and Google maintain their own internal reputation systems that are not public DNSBLs. You cannot "check" them with
dig, and delisting from them is a different process (their postmaster tools and sender support forms), covered at the end.
Ignore, or at least deprioritize, the obscure lists that only appear on aggregate scanners. If your only listings are on lists no major receiver uses, your delivery problem is probably somewhere else entirely; start with diagnosing why mail goes to spam rather than chasing delistings that change nothing. For a quick run through the whole delisting sequence as a scannable list, the steps to get your domain off an email blacklist condenses this guide into a checklist.
Why did I get blocklisted if I am not a spammer?
Most listings are not punishment for deliberate spam; they are a server reacting to a pattern that looks like spam. The single most useful thing you can do is figure out which pattern triggered yours, because the delisting request will be rejected (or instantly reversed) if the pattern is still active. The usual culprits:
- A compromised account or host. A phished mailbox password or an exploited web app turns your server into a spam relay. This is the most common cause of an XBL listing. Check your mail logs for a sudden volume spike, unfamiliar
MAIL FROMaddresses, or authenticated sends from an account that should be dormant. - An open relay or open form. A misconfigured MTA that accepts mail from anyone, or a contact/signup form with no rate limiting, lets spammers send through you. Test your relay status; do not assume it is closed.
- A stale or purchased list. Mailing addresses you have not contacted in a year, or a list you bought, is full of dead accounts and spam traps. Hitting spam traps is a direct path to an SBL listing. List hygiene is the boring fix that prevents this.
- Shared IP collateral. On shared sending infrastructure, another tenant's bad behavior can list the IP you share. You did nothing wrong, but you inherit the listing.
- A policy listing, not a spam listing. The Spamhaus PBL lists IP ranges (residential, dynamic, many cloud ranges) that are not supposed to send mail directly to other servers. If you stood up an MTA on a raw VPS or cloud IP, you may be PBL-listed simply for being that kind of IP, with no spam involved at all. The fix there is to send through a proper smarthost or relay, not to fight the listing.
Be honest in this step. The most common reason a delisting "does not stick" is that the person delisted first and looked for the cause second, or never looked at all.
How do I actually request delisting, list by list?
You submit a removal request on the specific list's own site, after fixing the cause. Each major list has a self-service form. Here is the per-list path for the ones that matter.
Spamhaus. Go to the Blocklist Removal Center at check.spamhaus.org, enter your listed IP or domain, and it shows every Spamhaus zone you are on with per-zone instructions:
- SBL (manual spam-source listing) requires you to fix the issue and then use the removal link with a working contact address; a human may review.
- XBL (compromised host) usually offers self-service removal once you have cleaned the host, with the expectation that it stays clean.
- CSS (automated snowshoe/reputation) typically clears on its own a few days after the bad sending stops; there is also a self-service removal form if you need it sooner and have fixed the cause.
- PBL removal is self-service if the IP is genuinely yours and you intend to run a mail server on it, but the right move for a cloud IP is usually to relay through a proper sending service instead.
Barracuda. Use the removal request form at barracudacentral.org/rbl/removal-request. You enter the IP, a reason, and a contact; requests are typically processed quickly when the sending has cleaned up.
SpamCop. Largely automatic: listings expire on their own once reports stop, usually within 24 hours of the last spam report. There is a delisting link in the SCBL lookup result, but patience plus a fixed cause usually suffices.
SORBS. Submit through the SORBS support/ticket system on their site, identifying the listed IP and the remediation you performed.
UCEPROTECT. Free delisting happens automatically over time once the cause stops; they also dangle a paid "express" removal. Use the free path and fix the source.
When you fill out any of these forms, write a short, factual remediation note: what the cause was, what you changed, and that it will not recur. "We identified a compromised SMTP account, reset all credentials, enforced 2FA, and the unauthorized sending stopped at 14:00 UTC" gets processed. "Please remove, we are not spammers" does not.
Should I pay anyone to remove me from a blocklist?
No, and there are two distinct traps here. First, the legitimate lists are free: Spamhaus, Barracuda, SpamCop, and SORBS all offer self-service removal at no cost, so any "blocklist removal service" charging you is just filling in a free form on your behalf, often without fixing the cause that will relist you anyway.
Second, and more important, treat any blocklist that demands a payment to delist you as an extortion racket and ignore it. A handful of lists exist mainly to list IPs broadly and then sell "express delisting." The major mailbox providers do not consult these lists precisely because of that business model, so being on one does not actually hurt your delivery, and paying it only funds the scheme. The reputable response is to verify (using the IP-list checks above) that no list a real receiver uses is affected, then move on.
The one nuance: UCEPROTECT sits in a gray area because some receivers do use it and it offers a paid express option. Even there, the free time-based delisting works once you stop the offending sending. Pay nothing; spend the time on remediation.
How do I stop getting relisted?
Fix the root cause before you request removal, then close the gaps that let it happen. Relisting almost always means the trigger is still firing. The durable fixes, in rough priority order:
# 1. If a host was compromised: rotate everything and confirm sending stopped.
# Reset SMTP/IMAP passwords, enforce 2FA, patch the app, then watch the logs:
grep "MAIL FROM" /var/log/mail.log | awk '{print $NF}' | sort | uniq -c | sort -rn | head
# A single unexpected sender dominating the volume is your smoking gun.
# 2. Confirm you are not an open relay (test from OUTSIDE your network):
swaks --to test@example.net --from spammer@evil.example --server your-mail-host:25
# It should be REJECTED for relaying. If it is accepted, the relay is open. Close it.
Beyond stopping an active incident, the things that keep you off lists for good:
- Authenticate every message. SPF, DKIM, and DMARC do not by themselves prevent a listing, but unauthenticated mail is far more likely to be treated as suspicious and to trip spam-trap and reputation systems. Get them passing; see the SPF, DKIM, and DMARC setup guide.
- Hygiene your list. Remove hard bounces immediately, suppress complainers, and stop mailing addresses that have not engaged in months. This is where spam-trap hits come from. The mechanics are in handling bounces and suppression the right way, and the recurring habits that keep a list clean are in list hygiene habits that protect your sender reputation.
- Honor complaints with feedback loops. Wire up provider feedback loops so a "report spam" click adds the recipient to your suppression list automatically. Continuing to mail people who reported you is a reliable way to get relisted.
- Ramp, do not spike. A new domain or IP that jumps from zero to tens of thousands of messages reads as an outbreak. Warm up gradually; the schedule is in warming up a new sending domain.
- Monitor so you find out first. Re-query the blocklists on a schedule and watch your reputation dashboards, so the next listing surfaces in minutes, not when a customer complains they never got their receipt. continuous deliverability monitoring is the safety net.
For the internal reputation systems at Microsoft and Google, the path is different: there is no DNSBL to query or delist from. Register with Google Postmaster Tools and Microsoft SNDS to see your domain's reputation, and use Microsoft's sender support and Google's bulk sender forms if your mail is being blocked despite clean authentication. The fundamentals that keep those internal scores healthy are the same as everything above, and they are collected in the email deliverability guide.
Or catch the listing before it costs you
Everything above is reactive: you find out you are listed, you trace the cause, you grovel to a form, you wait. It works, and when you are listed you have to do it. But most of the pain is that the listing is invisible until delivery has already cratered, and the cause (a stale list, an unauthenticated stream, a volume spike) was something you could have caught at send time.
Tinbox is a self-contained email stack you deploy onto your own Cloudflare account: D1 for storage, R2 for attachments, Queues for sending, all on your infrastructure. A few things about that shape make blocklist trouble less likely and easier to handle. You send over Cloudflare's HTTPS-based path rather than running a raw MTA on a cloud IP, so the entire class of PBL "this IP should not send mail directly" listings does not apply to you. Bounce and complaint handling feed a suppression list automatically, so the stale-list and feedback-loop triggers that cause SBL listings are handled by default instead of being a discipline you have to remember. And because you own the from-domain and the data, your reputation is yours: there is no shared IP pool where a neighbor's spam lists the address you send from.
One honest caveat: Tinbox cannot delist you from Spamhaus, and it does not warm your domain by magic. If you get listed, the per-list process in this guide is still the work. What the stack does is shrink the surface (no raw-IP listings, automatic suppression, owned reputation) and surface problems early, so you spend less time on the reactive scramble.
Deploy this yourself: npx tinbox init example.com. The deploy sets up your SPF, DKIM, and DMARC before the first send and wires bounce-and-complaint suppression by default, which removes the two most common reasons a domain gets blocklisted in the first place. See the docs for the deliverability and suppression settings.
Frequently asked questions
How do I get my domain or IP removed from an email blocklist like Spamhaus?
First confirm the listing by querying the specific blocklist for your IP or domain. Then identify and fix the cause (compromised account, open relay, purchased list, missing authentication). Only then submit the removal request on that list's site: Spamhaus uses the Blocklist Removal Center at check.spamhaus.org, and you enter the listed IP or domain and follow the per-zone instructions. Removal is usually fast once the cause is fixed, but if the bad behavior continues you will be relisted automatically.
How long does it take to get delisted from a blocklist?
It varies by list. Automated reputation lists like the Spamhaus CSS or Barracuda often clear on their own within 24 to 72 hours once the offending sending stops, with no request needed. Manual delisting requests on Spamhaus SBL, SORBS, or UCEPROTECT are typically processed within hours to a couple of days. The slow part is almost never the list operator; it is fixing the underlying problem so you are not immediately relisted.
Why does my email get blocklisted even though I am not a spammer?
Common causes that are not deliberate spam include a compromised mailbox sending through your server, a misconfigured open relay, sending to a stale list full of spam traps, a shared IP where another tenant spammed, or a sudden volume spike that looks like an outbreak. Dynamic-IP and policy lists (like the Spamhaus PBL) can also list residential or cloud IP ranges that were never meant to send mail directly. None of these require intent to get you listed.
Should I pay a service to remove me from email blocklists?
No. Every reputable blocklist (Spamhaus, Barracuda, SpamCop, SORBS) offers free self-service removal, so a service that charges to do it is just filling in a free form on your behalf. Separately, any blocklist that demands a payment to delist you is an extortion list run in bad faith; the major mailbox providers ignore those, so you should too. Pay nothing and spend the effort on fixing the root cause instead.
What is the difference between an IP blocklist and a domain blocklist?
An IP blocklist (like the Spamhaus SBL or Barracuda BRBL) lists the sending IP address of your mail server and is checked during the SMTP connection. A domain blocklist (like the Spamhaus DBL or SURBL) lists a domain name found in the message, usually in the From address or in a link in the body, and is checked against the content. You can be clean on IP and still blocked because a URL in your email resolves to a listed domain.
How do I stop getting relisted after delisting?
Remove the root cause before requesting delisting, not after. Reset credentials and patch the host if it was compromised, close any open relay, purge bought or stale addresses, set up SPF, DKIM, and DMARC so your mail is authenticated, add complaint feedback loops and suppression so you stop mailing people who report you, and ramp volume gradually instead of spiking. Relisting almost always means the cause is still active.


