Protocol Telemetry

Raw SMTP Diagnostic Response Codes (RFC 5321)

Complete reference of RFC 5321 SMTP socket response codes returned in the smtp_response_code field, remote mail exchanger semantics, and deliverability impacts.

Understanding the SMTP Dialogue

During live verification, BounceLayer opens an asynchronous TCP socket to the remote Mail Exchanger on port 25 and executes the standard RFC 5321 conversation:

  1. Connect: Remote MTA presents 220 banner greeting.
  2. HELO / EHLO: BounceLayer announces its FQDN reverse DNS hostname.
  3. MAIL FROM: Probes envelope sender address.
  4. RCPT TO: Probes candidate recipient address.
  5. RSET & QUIT: Socket cleanly resets and closes without sending message data.

Complete SMTP Response Codes Table

SMTP CodeRemote Server ResponseBounceLayer VerdictMeaning & Actionable Advice
`250`250 2.1.5 OK: Recipient address accepted`valid`Safe to Send. The recipient mailbox was explicitly verified as active and deliverable by the target server.
`251`251 User not local; will forward to <user@other>`valid`Safe to Send. Mailbox is accepted on an alias or forwarding node.
`421`421 Service not available, closing transmission channel`unknown`Temporary Deferral. Remote server is under heavy load or throttling our probe. 0 credits charged.
`450`450 4.2.0 Mailbox unavailable: busy or greylisted`unknown`Greylisted. MTA implements greylisting requiring repeat delivery attempts. 0 credits charged.
`451`451 4.3.0 Local error in processing`unknown`Temporary Error. Remote server experienced an internal queue exception. 0 credits charged.
`452`452 4.2.2 Insufficient system storage / Mailbox full`risky` / `unknown`Mailbox Over Quota. Recipient's inbox is completely full and temporarily rejecting new mail.
`500 / 501`500 Syntax error, command unrecognized`invalid`Malformed Command. Target server rejected the address syntax.
`550`550 5.1.1 User unknown / Mailbox does not exist`invalid`Dead Address (Hard Bounce). Remove immediately from sending lists to protect sender reputation.
`551`551 User not local; please try <forward-path>`invalid`Relay Denied. Server refuses to accept incoming mail for this recipient without explicit authentication.
`552`552 Exceeded storage allocation`invalid`Permanent Quota Overflow. Abandoned mailbox exceeding storage thresholds permanently.
`553`553 Requested action not taken: mailbox name not allowed`invalid`Policy Block. Recipient name violates server administrative naming rules.
`554`554 Transaction failed / Client host rejected`invalid` / `unknown`Access Denied. Remote MTA policy block or aggressive anti-spam reputation firewall.

Zero-Credit Policy for Indeterminate SMTP Codes

If a remote mail exchanger returns a temporary 4xx code (421, 450, 451) or refuses connection (failed_smtp_connection), BounceLayer classifies the verification as unknown and deducts 0 credits. You are only charged when we provide a deterministic verdict.