Analyzing and understanding SMTP codes is not something that we need to do on a daily basis but when IT administrators encounter smtp error codes due to emails that were sent through their corporate infrastructure, they need to know what these email error codes mean as well as how to address them.
How to breakdown, analyze and understand smtp codes
How To Breakdown, Analyze and
Understand SMTP Codes
Analyzing and understanding SMTP codes is not something that we need to do on a daily basis but when IT
administrators encounter smtp error codes due to emails that were sent through their corporate infrastructure,
they need to know what these email error codes mean as well as how to address them.
You’re getting phone calls from company employees stating that they are having problems sending emails to a
particular domain. Upon investigating the issue, you discover that your email server is receiving bounce backs
containing a three digit smtp error code with a cryptic message explaining the issue, be it custom or generic.
The bounce back you received is part of the SMTP protocol (RFC 821 and 2821) that the sending and
receiving servers use to talk between themselves. Depending on the hosting server, setup will notify the sender
of the status of the delivery.
Every time you send an email through your email provider, the mail server returns a SMTP code. Each code
consists of three numbers. The last number provides even more specific error information and gives you more
details about the mail status of the message.
The Meaning of SMTP status codes
The first number tells you if the receiving server has accepted the command sent by your email provider and if
it was able to process it. The numbers range from 1 to 5.
1: The server has accepted the command, but does not yet take action. (Not currently used)
2: The server has completed the task successfully.
3: The server has understood the request, but needs additional information to complete.
4: The server has encountered a temporary failure. Mail servers can use such temporary failures to
keep untrusted senders or spammers away. (Soft bounce)
5: The server has encountered an error. (Hard Bounce)
The second number provides more information about the smtp error code. Those numbers range from
0 to 5.
0: A syntax error has occurred.
1: Indicates an informational reply, to a HELP request for example.
2: Refers to the connection status.
3 not implemented
4 not implemented
5: Refers to the status of the mail system as a whole and the mail server in particular.
The last number provides even more specific error information and gives you more detail about the mail status
of the message. For a more in-depth explanation, refer to the RFC 821 and later revisions thereof.
SMTP Codes that start with 2 or 3 are typically general error codes.
SMTP Codes with 4 as the first number indicate that there is a temporary error, but the server will try to
deliver the message at a later time. This is also known as a soft bounce.
SMTP Codes beginning with 5 indicate a permanent fatal error and the system will not try to deliver the
message to the recipient. This is also known as a hard bounce. The list below includes some common SMTP
The Most Common SMTP Codes
220 – SMTP service ready
221 – Service closing
250 – Requested action taken and completed. The error has been resolved and the message sent.
251 – The recipient is not local to the server, but the server will accept and forward the message.
252 – The recipient cannot be VRFYed (verified), but the server accepts the message and attempts the
421 – The service is not available and the connection will be closed.
450 – The requested command failed because the user’s mailbox was unavailable. Try again later.
451 – The command has been aborted due to an error from the recipient’s server.
452 – The command has been aborted because the server has insufficient system storage.
500 – The server could not recognize the command due to a syntax error.
501 – A syntax error was encountered in command arguments.
502 – This command is not implemented.
503 – The server has encountered a bad sequence of commands.
504 – A command parameter is not implemented.
550 – The requested command failed because the user’s mailbox was unavailable.
551 – The recipient is not local to the server.
552 – The action was aborted due to exceeded storage allocation.
553 – The command was aborted because the mailbox name is invalid.
554 – The transaction failed for some unstated reason.
Watch this YouTube video from Mimecast to get more details on SMTP Codes and error notifications.
If the YouTube video does not show up when you clicked on the image above, you can find it at
To read this blog post on the Vircom Corporate Email Security Blog, go to
Learn more about ModusGate, Anti-Spam & Email Security Gateway for Microsoft Exchange, an award
winning corporate anti-spam solution with 99.7% anti-spam catch rate. Visit us now at