Hard bounces (invalid recipient) — list quality issue. Verify with a service like NeverBounce before sending. Soft bounces (full mailbox, temporary) — usually resolve on retry, don't over-worry. Rejections with 5xx codes from the recipient's mail server — check the specific error message, usually points at spam filtering, authentication, or rate limits.
Bounces — types and fixes
Hard bounce (5xx) — recipient doesn't exist, never existed, or is permanently disabled. Fix — remove from your list. Don't retry.
Soft bounce (4xx) — temporary issue. Full mailbox, temporary server issue, greylisting. Fix — retry usually works. Winnr handles retry automatically.
Content rejection (550 with "spam" in message) — provider spam filter blocked. Fix — improve content, warm more, check reputation.
Authentication rejection — SPF, DKIM, or DMARC failed. Fix — check DNS health for the domain, fix any drift.
Rejections at the recipient server
Common SMTP error codes:
- 421 — try again later. Rate limiting or temporary issue. Slow down.
- 450 — try again later, mailbox unavailable. Similar to 421.
- 550 — user unknown or permanent failure. Remove from list.
- 551, 552, 553 — permanent failures for various reasons. Remove from list.
- 554 — transaction failed, often spam-related. Reduce volume, check content.
Winnr surfaces the specific error message when a send fails. Read it — the recipient server usually tells you exactly why.
Fixing list quality
- Verify before sending. Every batch. Cost is ~$0.005/address; catches 5-15% of dead addresses.
- Segment your list. Don't send to inactive segments. Suppress addresses that haven't engaged in 6+ months.
- Use double opt-in for organic signups. Confirmed subscribers bounce less.
- Suppress hard bounces immediately. Once an address hard-bounces, add it to your suppression list. Never send again.
When to stop a campaign
Watch for these while a campaign is running:
- Bounce rate rising past 3% — pause and investigate.
- 550 spam errors from multiple providers — likely blocklist or reputation issue. Pause and check.
- 421 rate limits accumulating — you're sending too fast per recipient domain. Slow down.
What's next
Frequently asked questions
What's an acceptable bounce rate?
Under 2% is healthy. 2-5% suggests list quality is degrading. Above 5% starts causing deliverability damage and reputation drops.
Do bounces damage my reputation?
Yes. High bounce rate = signal that you're sending to a poorly-maintained list = provider filters more aggressively. This is why list verification is worth the cost.
What's the difference between bounce and rejection?
Bounce = the recipient server accepted your message initially, then couldn't deliver it (invalid recipient, mailbox full). Rejection = the recipient server refused to accept it (SMTP 5xx error, usually spam filtering or authentication).
My messages get 550 "user unknown" errors. What now?
The recipient address doesn't exist. Bad data. Verify your list. If it's a small percentage of a campaign, ignore. If it's widespread, stop the campaign and clean the list.
I'm getting 421 "try again later." What now?
Temporary rate limit from the recipient server. Slow down your sending pace. If it's happening across many recipients, drop your daily volume by half and monitor.