SMTP Reply Codes Reference

All SMTP 2xx/3xx/4xx/5xx reply codes with meaning and enhanced status codes.

Searchable SMTP reply code reference from RFC 5321. Look up any three-digit code, see its class, plain-English meaning, whether to retry, and the matching RFC 3463 enhanced status code. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is the difference between SMTP 4xx and 5xx codes?

A 4xx reply is a transient (temporary) failure — the mailbox is busy, storage is low, or the server is overloaded — so the sender should queue the message and retry later. A 5xx reply is a permanent failure such as no such user or a policy rejection, and the sender should bounce the message rather than retry.

The SMTP Reply Codes Reference is a searchable lookup for every three-digit reply an SMTP server can send, from the 220 greeting to a 550 rejection. If you have ever read a bounce message or a mail log and wondered whether to retry or give up, this tool answers it: each code shows its class, plain-English meaning, retry guidance, and the matching RFC 3463 enhanced status code.

How it works

SMTP, defined in RFC 5321, uses a three-digit reply code on every server response. The first digit is the whole story for delivery decisions:

2yz  Positive completion   — the command succeeded
3yz  Positive intermediate — server needs more input (DATA, AUTH)
4yz  Transient negative    — temporary failure, retry later
5yz  Permanent negative    — hard failure, do not retry

The second digit groups by subject (syntax, information, connections, mail system) and the third adds specifics. A sending mail server inspects only the first digit to decide whether to deliver, requeue or bounce. This tool keeps the full table in your browser and filters it instantly by number, text or enhanced code.

A full delivery session, annotated

S: 220 mail.example.com ESMTP ready
C: EHLO sender.example.org
S: 250-mail.example.com Hello
S: 250 AUTH PLAIN LOGIN
C: MAIL FROM:<[email protected]>
S: 250 OK
C: RCPT TO:<[email protected]>
S: 250 Accepted
C: DATA
S: 354 Start input; end with <CRLF>.<CRLF>
C: (message headers and body)
C: .
S: 250 OK: queued as 12345
C: QUIT
S: 221 Closing connection

Every server response has a three-digit code. The 354 is the intermediate prompt — the server is telling you to send the message body. Terminate the body with a line containing only a . and the server returns a final 250 if it accepted the message into its queue. Note that 250 OK: queued means accepted for delivery, not delivered — a subsequent DSN or bounce may still arrive.

Common bounce codes and what to do

CodeEnhancedMeaningAction
4214.3.0Service temporarily unavailableWait 30+ min, retry
4504.2.1Mailbox busy or temporarily lockedRetry with backoff
4514.3.5Server processing errorRetry; contact receiving postmaster if persistent
4524.5.3Mailbox full or storage exceededRetry later
5505.1.1No such user / mailbox unavailableRemove from list; do not retry
5505.7.1Policy rejection (spam, blocklist)Review sending practices; check blocklists
5515.1.6User not local — forwardedCheck the referral address in the reply text
5525.3.4Message too largeReduce message size
5535.1.3Bad address syntaxFix the sender or recipient address
5545.7.0Transaction failedRead the trailing text for the exact reason

Enhanced status codes — reading the triplet

Enhanced codes (RFC 3463) follow the three-digit SMTP reply and have the form X.Y.Z. The first digit mirrors the SMTP class (2 = success, 4 = transient, 5 = permanent). The second digit is the subject:

  • 0 = other or undefined
  • 1 = addressing
  • 2 = mailbox status
  • 3 = mail system
  • 4 = network and routing
  • 5 = mail delivery
  • 6 = message content
  • 7 = security or policy

The third digit refines further. So 5.2.2 is a permanent failure about mailbox status, specifically quota exceeded — very different from 5.7.1, which is a security/policy rejection. When your bounce message shows a generic 550, reading the enhanced code tells you which of many possible 550 situations you are dealing with.