The Basic SMTP Reply Codes are defined in RFC 5321, Section 4.2 except as noted. Please see the RFCs for more detailed information.
Replies to SMTP commands serve to ensure the synchronization of requests and actions in the process of mail transfer and to guarantee that the SMTP client always knows the state of the SMTP server. Every command MUST generate exactly one reply.
Structure
The three digits of the reply each have a special significance. The first digit denotes whether the response is good, bad, or incomplete. The second digit of the reply code narrows the meaning to a category:
- x0z
- Syntax
- x1z
- Information
- x2z
- Connections
- x5z
- Mail system
The third digit gives a finer gradation of meaning in each category specified by the second digit.
2yz Positive Completion
The requested action has been successfully completed. A new request may be initiated.
- 211
- System status, or system help reply
- 214
- Help Message
- 220
- <domain> Service Ready
- 221
- <domain> Service closing transmission channel
- 250
- Requested mail action okay, completed
- 251
- User not local; will forward to <forward-path>
- 252
- Cannt VRFY user, but will accept message and attempt delivery
3yz Positive Intermediate
The command has been accepted, but the requested action is being held in abeyance, pending receipt of further information. The SMTP client should send another command specifying this information. This reply is used in command sequence groups (i.e., in DATA).
- 354
- Start mail input; end with <CRLF>.<CRLF>
4yz Transient Negative Completion
The command was not accepted, and the requested action did not occur. However, the error condition is temporary, and the action may be requested again. The sender should return to the beginning of the command sequence (if any). It is difficult to assign a meaning to “transient” when two different sites (receiver- and sender-SMTP agents) must agree on the interpretation. Each reply in this category might have a different time value, but the SMTP client SHOULD try again. A rule of thumb to determine whether a reply fits into the 4yz or the 5yz category (see below) is that replies are 4yz if they can be successful if repeated without any change in command form or in properties of the sender or receiver (that is, the command is repeated identically and the receiver does not put up a new implementation).
- 421
- <domain> Service not available, closing transmission channel
- 450
- Requested mail action not taken: mailbox unavailable
- 451
- Requested action aborted: local error in processing
- 452
- Requested action not taken: insufficient system storage
- 455
- Server unable to accommodate parameters
5yz Permanent Negative Completion
The command was not accepted and the requested action did not occur. The SMTP client SHOULD NOT repeat the exact request (in the same sequence). Even some “permanent” error conditions can be corrected, so the human user may want to direct the SMTP client to reinitiate the command sequence by direct action at some point in the future (e.g., after the spelling has been changed, or the user has altered the account status).
- 500
- Syntax error, command unrecognized
- 501
- Syntax error in parameters or arguments
- 502
- Command not implemented
- 503
- Bad sequence of commands
- 504
- Command parameter not implemented
- 521
- Server does not accept mail Source
- 550
- Requested action not taken: mailbox unavailable
- 551
- User not local; please try <forward-path>
- 552
- Requested mail action aborted: exceeded storage allocation
- 553
- Requested action not taken: mailbox name not allowed
- 554
- Transaction failed
- 555
- MAIL FROM/RCPT TO parameters not recognized or not implemented
- 556
- Domain does not accept mail Source