Skip to content
gohacks.dev
Tooling

SMTP Reply Codes

Look up SMTP reply codes and enhanced status codes, from 250 OK to 550 5.7.26, with what each means and what to do when a server returns it.

Free · No sign-up · Your inputs stay in your browser

Reference

SMTP reply codes

CodeMeaningWhat to do
211System statusReply to HELP or a status request.
214Help message
220Service readyThe greeting when a connection opens.
221Closing connectionReply to QUIT.
235Authentication succeededAfter AUTH (RFC 4954).
250Requested action OKAccepted. After DATA, the message is now the receiver's responsibility.
251User not local; will forward
252Cannot verify user, will attempt deliveryUsual reply to VRFY, which servers disable to stop address harvesting.
334Server challengeDuring AUTH: the base64 prompt.
354Start mail inputSend the message, end with <CRLF>.<CRLF>.
421Service not available, closingTemporary: the server is overloaded or shutting down. Retry later.
450Mailbox unavailable (temporary)Often greylisting: retry in a few minutes and it is accepted.
451Local error in processingTemporary server-side error, or a failed DNS check on your domain.
452Insufficient storage / too many recipientsTemporary. Split the recipient list.
454TLS not availableSTARTTLS failed temporarily.
455Server unable to accommodate parameters
500Syntax error, command unrecognisedAlso returned for lines that are too long.
501Syntax error in parametersOften a malformed address in MAIL FROM or RCPT TO.
502Command not implemented
503Bad sequence of commandsFor example RCPT before MAIL, or AUTH required first.
504Parameter not implemented
521Host does not accept mailRFC 7504: the domain never accepts mail (null MX).
530Authentication requiredSubmission port without AUTH, or STARTTLS required first.
534Authentication mechanism too weakGmail's reply when an app password or OAuth is needed.
535Authentication credentials invalidWrong username or password.
550Mailbox unavailable (permanent)No such user, or rejected by policy (5.7.1). Remove the address or fix authentication.
551User not local
552Exceeded storage allocationMailbox full or message too large.
553Mailbox name not allowedMalformed address, or the sender is not allowed to use this From.
554Transaction failedPermanent rejection, often spam or a blocklisted IP; the text says which.
556Domain does not accept mailRFC 7504.
5.1.1Bad destination mailboxEnhanced status (RFC 3463): the user does not exist. Suppress the address.
5.2.2Mailbox full
5.7.1Delivery not authorisedPolicy rejection: SPF, DMARC, a blocklist or a relay attempt.
5.7.26Unauthenticated emailGmail: the message failed SPF and DKIM, or DMARC.
4.7.0Temporary policy failureOften rate limiting or a TLS problem. Retry.

The first digit decides retry behaviour: 2 is success, 3 asks for more input, 4 is temporary and the sender retries, 5 is permanent and the message bounces. Enhanced status codes (x.y.z, RFC 3463) refine the reason and appear after the three-digit code.

Read the first digit

2xx is success, 3xx asks for more input (after DATA), 4xx is a temporary failure the sending server retries for hours or days, and 5xx is permanent and produces a bounce. The basic codes come from RFC 5321 and the enhanced codes from RFC 3463.

The text matters too

Providers add a human-readable explanation and often a link after the code. 550 alone means "rejected"; the text says whether the reason was a missing mailbox, a blocklisted IP, a failed DMARC check or the sending rate.

Share

Frequently asked questions

What does SMTP 550 mean?
A permanent rejection. 5.1.1 means the mailbox does not exist; 5.7.1 means it was refused by policy, such as SPF, DMARC or a blocklist.
What is greylisting?
A server temporarily rejects mail from an unknown sender with a 4xx code. A real mail server retries a few minutes later and is accepted; many spam tools do not retry.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Keep planning

Similar tools