====== 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 [[email:dns-configuration:spf|SPF]] / [[email:dns-configuration:dkim|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 [[https://datatracker.ietf.org/doc/html/rfc3463|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 [[email:dns-configuration:mx-records|MX Records]], or routing timeouts. * **5.7.X:** Security & Policy — [[email:dns-configuration:dmarc|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 ===== * [[tools:mailcheck|Telenegar Mail Check Tool]] — Test mail server responses, port reachability, and authentication compliance. * [[tools:dnscheck|Telenegar DNS Check Tool]] — Validate MX and A record resolutions globally. * [[email:dns-configuration:mx-records|MX Records]] — Configure mail transfer targets correctly. * [[email:dns-configuration:spf|SPF]] & [[email:dns-configuration:dkim|DKIM]] — Prevent 550 / 5.7.1 authentication rejections. * [[email:troubleshooting:mail-headers|Email Headers]] — Learn how to parse raw email header traces.