Table of Contents
SMTP Status Codes & Email Bounces
When an email transfer agent (MTA) attempts to deliver a message, the receiving mail server returns a 3-digit SMTP status code. These status codes inform the sender whether the message was accepted, temporarily delayed, or permanently rejected (bounced).
Understanding these status codes is crucial for diagnosing email deliverability issues, server misconfigurations, and IP reputation problems.
Understanding SMTP Code Classes
SMTP status codes consist of three digits (e.g., `250`, `421`, `550`). The first digit defines the response class:
| Class | Category | Meaning & Action |
|---|---|---|
| 2xx | Success | The server accepted the command or message successfully. |
| 3xx | Intermediate | The server accepted the command but requires further action (e.g., sending message data). |
| 4xx | Transient Negative (Soft Bounce) | Temporary failure. The sending server will retry delivery automatically. |
| 5xx | Permanent Negative (Hard Bounce) | Permanent failure. The email will not be delivered and retries will cease. |
Common 2xx & 3xx Success Codes
| Code | Meaning | Description |
|---|---|---|
| 220 | Service Ready | Receiving server is ready to initiate the SMTP conversation. |
| 250 | Requested Mail Action OK | The message was accepted and queued for delivery (most common success code). |
| 354 | Start Mail Input | Server is ready to receive the body of the email message. |
4xx Transient Failures (Soft Bounces)
A Soft Bounce occurs when delivery fails temporarily. Sending MTAs will retry sending the email for a configured duration (typically 72 to 120 hours) before giving up and converting it to a hard bounce.
| Code | Enhanced Code | Description & Cause | Recommended Action |
|---|---|---|---|
| 421 | `4.4.2` | Service not available / Connection timeout. | Check network connectivity and server load on target MX. |
| 450 | `4.2.1` | Mailbox temporarily unavailable or busy. | Retried automatically. Often occurs during local server backups. |
| 451 | `4.3.0` | Local processing error / Greylisting active. | Common with anti-spam greylisting; secondary attempt usually succeeds. |
| 452 | `4.2.2` | Recipient storage quota exceeded / Out of disk space. | Recipient must free up storage in their mailbox. |
5xx Permanent Failures (Hard Bounces)
A Hard Bounce indicates a permanent rejection. The sending MTA immediately aborts delivery and sends a Non-Delivery Report (NDR) back to the sender.
| Code | Enhanced Code | Description & Cause | Recommended Action |
|---|---|---|---|
| 550 | `5.1.1` | User unknown / Requested action not taken. | Verify the recipient's email address spelling. |
| 550 | `5.7.1` | Access denied / Blocked by security policy or RBL. | Sender IP/domain is blacklisted, or SPF / DKIM failed. |
| 551 | `5.1.6` | User not local; please try forward path. | Mailbox does not exist on this server and forwarding is disabled. |
| 552 | `5.3.4` | Message size exceeds fixed maximum limit. | Reduce email attachment size or host files externally. |
| 553 | `5.1.8` | Invalid or missing domain name in sender address. | Check sender envelope `MAIL FROM` address configuration. |
| 554 | `5.7.1` | Transaction failed / Mail relay denied. | Ensure outbound SMTP authentication is enabled on the mail client. |
Enhanced Status Codes (X.Y.Z)
Modern mail servers append Enhanced Status Codes (defined in RFC 3463) alongside standard 3-digit codes (e.g., `550 5.7.1`).
- 5.1.X: Addresses — Problems with recipient or sender addresses.
- 5.2.X: Mailbox Status — Recipient mailbox storage or quota issues.
- 5.3.X: System Status — Destination mail system hardware or OS faults.
- 5.4.X: Network & Routing — DNS lookup failures, missing MX Records, or routing timeouts.
- 5.7.X: Security & Policy — DMARC, SPF, DKIM failures, or IP blacklist hits.
Troubleshooting Bounces with Telenegar
When analyzing email bounce logs or non-delivery reports:
# **Check Email Authentication:** Use [[tools:mailcheck|Telenegar Mail Check]] to ensure SPF, DKIM, and DMARC are properly aligned. # **Verify DNS & MX Resolution:** Confirm that your domain's [[email:dns-configuration:mx-records|MX Records]] and A/AAAA records resolve correctly via [[tools:dnscheck|Telenegar DNS Check]]. # **Inspect Mail Headers:** Extract the raw headers from the bounced message to identify which intermediate hop generated the error code.
Related Documentation
- Telenegar Mail Check Tool — Test mail server responses, port reachability, and authentication compliance.
- Telenegar DNS Check Tool — Validate MX and A record resolutions globally.
- MX Records — Configure mail transfer targets correctly.
- Email Headers — Learn how to parse raw email header traces.
