ESMTP Status/Error Codes
The these codes are defined in RFC1893

A typical SMTP response looks like:

214 2.0.0 End of HELP info
      214 is the new enhanced SMTP (ESMTP) status code
      2.0.0 is the old style SMTP status code (they remain for backwards compatibility with old mail servers)

The point of the new ESMTP codes is to return a more detailed status code.  The new ESMTP codes build on the old SMTP codes (they still use the major classes).

The major SMTP status classes/codes (first digit) are:

2.x.x    Success

4.x.x    Persistent Transient Failure

5.x.x    Permanent Failure

These explanations are mostly from savemail.c
211 System status, or system help reply 
214 Help message
(Information on how to use the receiver or the meaning of a particular non-standard command; this reply is useful only to the human user)
220 Service ready 
221 Service closing transmission channel 
250 Requested mail action okay, completed 
251 User not local; will forward to 
354 Start mail input; end with "."
421 Service not available, closing transmission channel
(This may be a reply to any command if the service knows it must shut down)
450 Requested mail action not taken: mailbox unavailable
(E.g., mailbox busy)
451 Requested action aborted: local error in processing
452 Requested action not taken: insufficient system storage
500 Syntax error, command unrecognized
(This may include errors such as command line too long)
501 Syntax error in parameters or arguments
502 Command not implemented
503 Bad sequence of commands
504 Command parameter not implemented
550 Requested action not taken: mailbox unavailable
(E.g., mailbox not found, no access)
551 User not local; please try <....>
552 Requested mail action aborted: exceeded storage allocation
553 Requested action not taken: mailbox name not allowed
(E.g., mailbox syntax incorrect)
554 Transaction failed

Copyright © 1993-2001 by Robert Barnes

Return to Unixhub's home page