Soft bounce: temporary email delivery failure
Soft bounce is a temporary refusal to deliver an email. The recipient’s mail server signals that delivery is not possible right now but may succeed later. Unlike a hard bounce, a soft bounce does not mean the address is invalid.
Common causes
- Mailbox full. The recipient has hit their storage quota. Once they delete some messages, or an admin raises the limit, delivery can proceed.
- Server temporarily unavailable. Maintenance, a reboot, or a network issue. The server responds with code 421 or 451.
- Greylisting. The server deliberately rejects the first message from an unknown sender. Legitimate MTAs retry after a few minutes, and the second attempt goes through.
- Message too large. The attachment exceeds the server’s size limit. The server returns code 452 with a “Message too large” explanation.
- Rate limiting. The sender has exceeded the allowed sending rate. The server asks it to slow down.
- Security policy. The server requires TLS and the sender connects unencrypted. Or SPF/DKIM fails, but the DMARC policy is set to “quarantine” rather than “reject”.
SMTP codes for soft bounces
Codes starting with 4 indicate temporary failures:
421— service temporarily unavailable, connection closing.450— action not taken, mailbox unavailable (temporary).451— processing error. Often accompanies greylisting.452— insufficient storage or limit exceeded.
Enhanced status codes: 4.2.2 means mailbox full, 4.7.1 means sending limit exceeded.
How retry delivery works
After a soft bounce, the sending MTA does not give up. It queues the message and retries on a schedule. A typical strategy: first retry after 15 minutes, then after an hour, then every 4 hours. The total retry window is usually 24 to 72 hours.
If no attempt succeeds within that window, the MTA generates a final bounce report (DSN) and stops trying. At that point, what started as a soft bounce effectively becomes a hard bounce.
Soft bounce vs. hard bounce
The primary signal is the SMTP response code: 4xx codes are soft, 5xx codes are hard. In practice it is not always clean. Some servers return 450 for a nonexistent mailbox, especially when greylisting is active. And code 552 (quota exceeded) gets classified as a soft bounce by some ESPs and a hard bounce by others.
A useful rule for email marketers: one soft bounce is normal. Three soft bounces in a row across different campaigns is a signal to remove the address. A mailbox that is consistently full belongs to someone who is not reading it.
Reducing your soft bounce rate
Some causes are outside your control: a recipient’s full mailbox, planned maintenance on their server. Others are not:
- Configure SPF, DKIM, and DMARC. Missing authentication is a common reason servers reject mail on policy grounds.
- Respect sending limits. Do not push 100,000 messages in an hour from a new IP. Warm up IP addresses gradually.
- Remove addresses with repeated soft bounces. Three failures in the last 30 days is reason enough to suppress the address.
- Watch message size. An HTML newsletter with heavy images can exceed the size cap on certain servers.
Soft bounce during email validation
During SMTP verification, a 4xx response usually means the result is inconclusive. The validator cannot confirm whether the mailbox exists. Those addresses get an “unknown” status. A good validator retries after a delay to rule out greylisting as the cause.
uChecker accounts for temporary failures during verification. When a server responds with a 4xx code, the system waits and retries to work around greylisting and rate limiting. This reduces the share of addresses that come back as unknown.
