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 Where 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 ESMTP STATUS CODE DESCRIPTION 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 shamelessly stolen from: http://www.unixhub.com/docs/email/SMTPcodes.html 2010-08-16