Skip to content

Hard bounce or spam block: your SMTP code says which to fix

By Published 10 min read

Some links on TechInfoTime are affiliate links: if you sign up or buy through them we may earn a commission, at no extra cost to you. We recommend a tool only where it fits the problem, and say who should skip it.

On this page (8 sections)
  1. The short version
  2. Why emails bounce from a mailing list
  3. Hard bounce, soft bounce or block: telling them apart
  4. Which SMTP codes mean delete, retry or fix authentication
  5. Why old contacts bounce and when to remove them
  6. How to fix a blocked campaign: SPF, DKIM and reputation
  7. How to stop bounces happening again
  8. Questions people still ask

In short: Emails bounce for three reasons: the address is dead (a hard bounce, usually code 5.1.1), the recipient's server is temporarily refusing (a soft bounce, codes starting with 4), or your own domain is being blocked for reputation or missing SPF/DKIM (codes like 5.7.1). The code tells you which fix to apply.

Part of our guide on wordpress login fails after reset

The three digits in your bounce message already tell you whether to delete the contact, wait a day, or fix your own DNS.

At a glance
Hard bounce code550 5.1.1
Soft bounce code4xx.x (e.g. 4.2.1)
Block/auth code550 5.7.1
Remove hard bounceAfter first occurrence
Retry soft bounceWithin 24-72 hours
Clean old contactsEvery 6-12 months

The short version

  • Codes starting with 5.1.1 mean the address is dead: remove it immediately
  • Codes starting with 4 mean a temporary problem: keep the contact and retry later
  • Code 5.7.1 usually means your domain was refused: check SPF, DKIM and reputation
  • Never retry a hard bounce more than once; repeated sends hurt every future campaign
  • Clean your list before reusing contacts older than six to twelve months

Why emails bounce from a mailing list

A bounce is the receiving mail server telling you, in machine language, why it would not accept your email. That message is not noise. It is a diagnosis, and it always contains an SMTP code plus a short human-readable reason.

Most people see only "delivery failed" in their mailing tool and assume the worst. In reality the cause falls into one of three buckets, and each one needs a completely different response. Delete the contact for one, wait a day for another, and fix your own domain settings for the third.

The mistake that damages senders is treating all bounces the same. Mass-deleting after soft bounces shrinks a healthy list, while repeatedly retrying dead addresses tells inbox providers you do not clean your list, which lowers your reputation for every subscriber, not just the broken ones.

  • Dead or mistyped address: the mailbox no longer exists or was never real
  • Full or unavailable mailbox: the person's inbox is over quota or their server is down
  • Content or reputation block: the receiving server rejected you as spam or unauthenticated
  • Missing or failed authentication: no valid SPF or DKIM signature for your sending domain
  • Role or catch-all addresses: inboxes like info@ that accept anything, then bounce later

Hard bounce, soft bounce or block: telling them apart

why do emails bounce from a mailing list - Why emails bounce from a mailing list
Why emails bounce from a mailing list

The first digit of the SMTP code does most of the work. A code starting with 5 is a permanent failure: the server is saying this will never work as things stand. A code starting with 4 is temporary: try again and it may go through. If that sounds like your situation, read up on how to monitor spam traps and sender reputation next.

Hard bounces mean the mailbox does not exist. The address was mistyped, the person left the company, or the domain itself has shut down. There is nothing to wait for and nothing to fix on your side. The correct action is removal, on the first occurrence.

Soft bounces mean the message was fine but the mailbox could not take it right now. A full inbox, an offline server or a message too large all produce 4.x.x codes. Keep the contact, and let your mailing platform retry automatically over the next day or two.

Blocks are different again, and this is where people misdiagnose most often. A 5.7.x code with wording about policy, spam or authentication is not about the address at all. It is about you: your domain's reputation, your content, or your missing SPF and DKIM records. For the detail, see our notes on emails bounce gmail.

The three bounce types at a glance
TypeCode starts withWhat it meansWhat to do
Hard bounce5.1.xMailbox does not existDelete the contact now
Soft bounce4.x.xTemporary refusal, mailbox full or server downKeep contact, retry in 24-72 hours
Block5.7.xYour domain or content was refusedFix authentication and reputation, keep contact

Which SMTP codes mean delete, retry or fix authentication

You rarely need to memorise codes, only recognise a handful of patterns. Below is the plain mapping the ranking pages leave out: which code means which action, and how sure you can be about it.

550 5.1.1 is the classic dead-mailbox code: user unknown. Treat it as permanent. 550 5.1.2 or 5.1.3 usually means a malformed or unresolvable address, which is equally final. Both belong in the delete pile, no second chances.

Codes starting with 4, such as 4.2.1 (mailbox busy) or 4.2.2 (mailbox full), are the retry pile. Most mailing platforms retry these automatically for up to 72 hours. If a contact soft-bounces on several consecutive campaigns, treat it like a hard bounce then. If that sounds like your situation, read up on letsencrypt auto renewal issues post host switch next.

550 5.7.1 is the one that should make you look in the mirror. Common versions include "message rejected as spam", "sender not authorised", or "authentication required". The fix is not deleting anyone; it is setting up SPF and DKIM for your domain and checking whether you have landed on a blacklist.

Code-to-action mapping
CodePlain meaningAction
550 5.1.1User unknown, mailbox goneDelete contact permanently
550 5.1.2 / 5.1.3Bad address or unresolvable domainDelete, then check how it entered your list
550 5.7.1Rejected as spam or unauthenticatedFix SPF/DKIM and sender reputation
550 5.7.26Missing SPF/DKIM pass specificallyAdd DNS records, verify, resend
4.2.1 / 4.2.2Mailbox busy or fullRetry within 72 hours
4.7.xTemporary greylistingRetry automatically, no action needed

Why old contacts bounce and when to remove them

why do emails bounce from a mailing list - Hard bounce, soft bounce or block: telling them apart
Hard bounce, soft bounce or block: telling them apart

Email addresses decay at a surprising rate. People change jobs, abandon old personal inboxes, and companies shut down domains. Industry estimates put annual decay at roughly 20 to 30 percent, which means a list untouched for two years is close to half unreliable.

That is why a newsletter that worked fine last year suddenly throws dozens of bounces: you are not doing anything wrong today, you are paying for addresses that silently died months ago. Old contacts are also riskier in another way. Some dead domains get bought and turned into spam traps, where any send marks you as a bulk sender. If that sounds like your situation, read up on earn from blogs next.

The free way to handle this is manual: export your list, sort by last engagement, and remove anyone who has not opened anything in a year and has bounced at least once. That works, but it is slow and it cannot see inside catch-all addresses, which accept everything and bounce silently later.

This is where a validation tool earns its keep. ZeroBounce checks each address before you send: it flags mailboxes that do not exist, catch-all domains, spam traps and known complainers, and it attaches an activity score showing which contacts have actually engaged recently. You upload your list, download a cleaned one, and delete what it marked invalid. It does not fix your SPF or DKIM, and it cannot guarantee a catch-all address is real, so treat those conservatively. If you send regularly to a list of a few thousand, cleaning it this way takes minutes instead of an afternoon of manual triage, and there is a free tier to test it on a sample first.

How to fix a blocked campaign: SPF, DKIM and reputation

If your bounce report is dominated by 5.7.x codes, delete nothing yet. The receiving servers are telling you they do not trust your domain, and cleaning the list will not change their minds. For the detail, see our notes on bluehost wordpress cpanel login issues.

Start with authentication, because it is the cheapest fix. SPF and DKIM are two DNS records that prove your emails genuinely come from your domain. If you send through a mailing platform, its documentation names the exact records; you add them where your domain's DNS is managed, wait a few hours for propagation, and resend. Many 5.7.26 bounces disappear at this point alone.

Next, check your reputation. Look up your sending domain on major blacklists, most of which offer free lookups, and review whether recent campaigns got unusually high spam-complaint rates. A complaint rate above roughly 0.3% gets you filtered. If you are listed, most blacklists delist automatically within days once the bad sending stops.

Content matters too, though less than people fear. Huge image-only emails, misleading subject lines and suspicious links all raise spam scores. If authentication is clean and you are not blacklisted, simplify the next campaign: plain text, a clear unsubscribe link, and send to your most engaged segment first to rebuild trust. We cover find hosting with both included in its own article.

  1. Find your 5.7.x bounces and note the exact wording after the code
  2. Add or verify SPF and DKIM records for your sending domain
  3. Check your domain against the major email blacklists
  4. Resend to a small, engaged segment before the full list
  5. Only then clean the remaining invalid addresses from the report

How to stop bounces happening again

why do emails bounce from a mailing list - Which SMTP codes mean delete, retry or fix authentication
Which SMTP codes mean delete, retry or fix authentication

Prevention is mostly unglamorous list habits. The single most effective rule: remove hard bounces immediately, every campaign, no exceptions. Platforms like Mailchimp and MailerLite do this automatically if you leave the setting on, so check it rather than assume it.

Second, use double opt-in. When new subscribers confirm their address before joining, typos and fake signups are caught at the door instead of becoming hard bounces later. It costs you some signups and saves you far more grief.

Third, prune by engagement, not just by bounces. Every six months or so, remove contacts that have not opened anything in a year. They add no opens, but they add bounce risk and spam-trap exposure. Fourth, verify addresses at the point of capture if your form gets bot signups; a real-time check on the signup field stops bad addresses from ever entering.

Warm up gradually whenever you change sending volume or platform. A list that normally gets 500 emails a month should not suddenly receive 5,000; sudden spikes in volume are a classic trigger for soft blocks from big providers. Build up over a couple of weeks and the 4.x.x bounces largely stay away.

  • Remove hard bounces on first occurrence, every single campaign
  • Turn on double opt-in for all new subscribers
  • Prune non-openers once or twice a year
  • Keep send volume steady; ramp up gradually after changes
  • Re-run a list clean before any re-engagement campaign to old contacts

Questions people still ask

Should I delete a contact after one soft bounce?

No. A code starting with 4 means the problem is temporary, and most platforms retry automatically for up to 72 hours. Only treat a contact as dead if it soft-bounces on several consecutive campaigns or eventually resolves to a hard bounce code.

What does 550 5.7.1 mean if my list is fine?

It usually means the receiving server refused your domain, not the address. Check that SPF and DKIM are set up correctly for your sending domain, look yourself up on the major blacklists, and review recent spam-complaint rates before resending.

Do I need a paid validation tool or can I clean my list manually?

If your list is a few hundred contacts, exporting and manually removing hard bounces is enough. Validation tools like ZeroBounce pay off when you send to thousands of addresses, because they also detect catch-all domains and spam traps that manual review cannot see.

Why did my newsletter bounce for people who subscribed themselves?

Addresses decay: people mistype at signup, change jobs, or abandon inboxes. Even genuine subscribers go dead at a rate of roughly 20-30% per year, which is why periodic cleaning matters even for a well-run list.

Can a high bounce rate get my whole newsletter blocked?

Yes. Inbox providers treat repeated sends to dead mailboxes as a spam signal, and sustained bounce rates above roughly 2% drag down your domain's reputation. That affects inbox placement for all your subscribers, including the valid ones.

I clean any list before re-engaging contacts that have gone quiet, and I read the SMTP code before touching anything else – it has saved me from deleting good subscribers more than once.

Ready to try it? It checks every address before you send and flags dead mailboxes, spam traps and catch-alls, so hard bounces never reach the receiving server.

Clean your list first
Daniel Brooks Editor

Daniel Brooks writes TechInfoTime's guides to Windows, Mac and phone problems, online privacy and security, and the apps and AI tools worth using, working through each fix step by step on the settings real people have.

More in Blogging & Websites