When Your IP Hits Spamhaus: The First Hour Is Critical
The minutes after a Spamhaus listing decide whether you spend 24 hours recovering or 4 days. Here is the calm checklist for hour one.
The pager fires at 14:07. Your monitoring caught a sudden jump in 554 5.7.1 responses. Within seconds you have confirmed: your primary sending IP is on Spamhaus SBL. The next 60 minutes will determine whether you are back to clean operation tomorrow morning or limping for the rest of the week.
This article is the playbook we hand to on-call engineers. It is paced for the first hour after detection, when the temptation to react quickly is the strongest and the cost of reacting wrongly is the highest.
Minute 0-5: Confirm and Halt
Before doing anything else, confirm the listing from a second source. Monitoring sometimes false-positives on transient SBL test entries.
dig +short 10.113.0.203.zen.spamhaus.org @8.8.8.8
dig +short 10.113.0.203.zen.spamhaus.org @1.1.1.1
# both return 127.0.0.2 or similar = confirmedConfirmed? Halt outbound from that IP immediately. Not pause — halt. Every message you ship while listed:
- Reinforces the listing pattern Spamhaus is observing.
- Triggers bounces that you will spend an hour analysing later.
- Risks getting your other IPs on the same list.
If you have a secondary IP, route critical transactional through it at half its normal rate. Marketing stays paused.
Minute 5-15: Identify the Listing Reason
Visit https://www.spamhaus.org/lookup/?ip=YOUR_IP. The page tells you which sub-list (SBL, CSS, XBL, PBL) and often a short reason ("listed for sending spam-like traffic since 2026-05-16 13:42 UTC").
Note: the timestamp is your most valuable clue. It tells you when the abuse pattern crossed the threshold. Cross-reference with:
- Your send log around that timestamp.
- Recent imports / list uploads.
- New API keys created in the last 7 days.
- Volume spikes in the last 24 hours.
Minute 15-25: Triage the Cause
The five usual suspects:
| Cause | Signal | Fix |
|---|---|---|
| Bad import | Spike in hard bounces 4-12h before listing | Suspend the imported list |
| Compromised credential | Unfamiliar API key or IP source | Rotate keys; audit |
| Spam-trap hit | Specific recipient address shows up in Spamhaus evidence | Remove trap, audit list source |
| Re-engagement campaign | Stream targeted "inactive 6mo" cohort | Halt campaign permanently |
| Compromised customer account | One subaccount's complaint rate spiked | Suspend, contact customer |
You need to identify which one is dominant before requesting delisting. Spamhaus reviewers see your remediation explanation; if it does not match the listing pattern they have on file, they delay.
Minute 25-40: Prepare the Remediation
Stop the bad pattern, not just the sending:
- Suspend the offending list / subaccount / campaign.
- Rotate any potentially compromised credentials.
- Add the offending recipients to suppression with a clear category ("spamhaus-evidence-2026-05-16").
- Add the rate-limit or guardrail that would have prevented this.
- Document everything you did with timestamps.
⚠️ Warning: Do not request delisting before remediation is complete. A premature request often results in a longer delisting wait because the reviewer sees the pattern continue.
Minute 40-50: Request Delisting
On the Spamhaus page, click "Request removal". The form asks four short questions. Be specific. Reviewers read these in seconds; clarity wins.
Good answer template:
💡 Tip: "At 13:42 UTC on 2026-05-16 an internal automation re-enabled approximately 12,400 previously-hard-bounced recipients due to a database migration script. We have (1) restored the suppression list state, (2) added the affected addresses to a permanent block, (3) added a script-level check requiring explicit ack for any suppression-state mutation, (4) audited the past 30 days for similar incidents. Abuse contact: abuse@example.com."
Minute 50-60: Communicate Internally
While waiting for Spamhaus, tell stakeholders:
- Customer Success: customers using this IP may see deliverability degradation for 24-48h.
- Engineering: what was the root cause, what is being added.
- Leadership: brief written summary, not a meeting.
Do not panic-write a "we are working on it" mass email to customers. Wait for resolution.
Hour 1+: The Waiting Game
Spamhaus delisting for a first-time SBL listing with clean history is typically 4-24 hours. For repeat offenders or aggressive listings (CSS), expect 24-72 hours. While waiting:
- Keep the IP halted. Do not send "to test".
- Monitor other blocklists; expect Barracuda and SORBS to clear within 24h of Spamhaus.
- Prepare warm-up plan: 20% volume on day 1 post-clear, doubling every 48h.
The First-Hour Mistakes
Reactivating sending too early
"We requested delisting, let's send a small batch to see." No. Sending while listed re-confirms the pattern.
Reformatting the request
"Maybe if we explain it differently they'll move faster." Spamhaus reviewers read every request; repeating with different wording flags you as panicky.
Calling abuse@spamhaus.org
That mailbox is not for delisting. Use the form.
Posting on Twitter
Spamhaus does not respond to social pressure and your customers do not need to learn about your incident this way.
Post-Mortem Within 48 Hours
Once delisted, write the post-mortem while the details are fresh. Capture:
- Timeline (when bad traffic started, when Spamhaus listed, when you noticed, when you halted, when delisted).
- Root cause.
- What controls were missing.
- What controls are being added.
- Verification: how will you know it worked?
Share the post-mortem internally. Repeat listings within 90 days are a sign of systemic problem; the post-mortem trail makes it visible.
What Prevents Repeat Listings
The structural controls that prevent the next listing:
- Suppression list is append-only at the storage layer.
- Any code path that could mutate suppression state requires a 2-of-N approval.
- Hard cap on recipients-per-minute per subaccount.
- Auto-suspend on complaint rate > 0.3%.
- Daily blocklist check with auto-halt.
If you build them once, you do not run this playbook again.
Closing
The first hour after a Spamhaus listing is about discipline: halt sending, identify cause, fix cause, then request delisting. Skip any step and you double the recovery time. Target SMTP auto-halts on blocklist detection, presents the remediation form with pre-filled timestamps, and the Send-Time Firewall enforces the structural controls — append-only suppression, recipients-per-minute cap, auto-suspend on complaints — that prevent the listing in the first place.