SMTP is responsible for sending out your messages. So if you get SMTP error message, it means your e-mails were not send. It is very important you to understand why this has happened so that you can fix the problem. All SMTP codes consist of three digits, for example, 550, 221, 354, etc. Not all of them mean some type of error. In order to understand how these codes work, you have to know that each digit (the first, the second and the third) have there own meaning.
The first digit tells you if your command was accepted and processed. There are five different values for that:
Mail server has accepted the command, but does not yet take any action. A confirmation message is required.
Mail server has completed the task successfully without errors.
Mail server has understood the request, but requires further information to complete it.
Mail server has encountered a temporary failure. If the command is repeated without any change, it might be
completed. Try again, it may help!
Mail server has encountered a fatal error. Your request can't be processed.
As you can see, the codes that start with 4 and 5 are the ones that tell you that your message won't be sent until you find and fix the problem.
The second digit tells you more:
Information reply (for example to HELP request)
This digit refers to the status of connection
This digit refers to the status of the mail server
Digits 3 and 4 are not used.
The third (last) digit of the code tells you the details of mail transferring status.
Here is the list of most important SMTP error codes:
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
The other codes that provide you with helpful information about what's happening with your messages are:
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 . (a dot)