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.

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.

Example and tips

A typical successful delivery walks 220 (greeting) → 250 (EHLO ok) → 250 (MAIL ok) → 250 (RCPT ok) → 354 (start DATA) → 250 (queued). A 354 intermediate reply is the cue to stream the message body and terminate it with a line containing a single dot.

Treat 4xx as “try again in a few minutes” and 5xx as final. Many providers return a generic 550 or 554 for anti-spam rejections, so always read the trailing text and any enhanced status code — 5.7.1 (policy), 5.1.1 (no such user) and 5.2.2 (mailbox full) point you at very different fixes.