Basic Reply Codes

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