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.
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. |
| 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. |
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. |
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. |
Modern mail servers append Enhanced Status Codes (defined in RFC 3463) alongside standard 3-digit codes (e.g., `550 5.7.1`).
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.