Diagnosing Bounced Email

Posted On 2008-08-14 by FortyPoundHead
Tags: Email Tutorial 
Views: 1780

Recently, you may have noticed an increase in the number of "bounced" email messages. This could be partially caused by the upgrade of new anti-spam mechanisms being put into place at many large ISPs and other companies. That is not to say that you shouldn''t check your own machine first. But with a little knowledge, you can diagnose where the problem is, simply by reading the ESMTP status codes that are in the returned message.


PERM_FAILURE: SMTP Error (state 8 ): 554 5.1.0 Sender Denied

This one is easy. The "Sender Denied" text means that the receiving mail server has blocked the sending mail server, or the sender was "blacklisted". Sometimes itís not that clear and you need to use the status codes to figure out what happened. The status code in this message is the ď554 5.1.0? part. The format is always *** x.x.x, with the x.x.x part being a return code and the *** being an ESMTP status code. Charts of their meanings is below.

In this case itís easy to see that the message was returned because of an SMTP error. The ďSender DeniedĒ comment on the end means itís probably because the sending mail server was blacklisted by a spam filter.

x.x.x, Server Return Codes:

The first value indicates the status of the communication between the sender and recipient server. Possible values are:

1Server accepted the command, but no action taken. Confirmation message is required.
2Server successfully completed the task.
3Server understood the request. More information is required to complete.
4Server encountered a temporary failure on that request. The command may complete if itís repeated.
5Server encountered an error.

The second value is an extra level of detail, which indicates the type of error or communication:

0Syntax error has occured.
1Message is an informational reply.
2Message refers to the connection status.
3Unspecified, may be used for custom messages.
4Unspecified, may be used for custom messages.
5Status message refers to the entire mail system or server.

ESMTP Status Codes:

In the event of a failure ESMTP codes can indicate even more detail than server return codes. They can indicate status of either the recipient mail server or your local mail server in response to a problem with your mail client. Possible values are:

211System status message.
214Help message formatted for human reader follows.
220SMTP service ready.
221Service/connection closing.
250Successful request. Action completed.
251Recipient is not local to the server, but the server will accept and forward the message.
252Recipient canít be verified, but the server will accept the message and attempt delivery.
354Start message input now, end with .. Indicates the server is ready to accept a message once youíve given it From: and To: information
421Service is not available and connection will be closed.
450Requested command failed because the recipientís mailbox is unavailable.
451Command has been aborted due to a server error. Possibly notify your SysAdmin.
452Command has been aborted because the server has insufficient system storage.
500Server could not recognize the command was due to a syntax error. (usually due to mail client error)
501Syntax error was found in command arguments. (usually due to mail client error)
502Command was not implemented. (usually due to mail client error)
503Server has encounterd a bad command or sequence of commands. (usually due to mail client error)
504Command parameter is not implemented. (usually due to mail client error)
550Command failed because the userís mailbox was unavailable (or you did not have permissions to send to this mailbox)
551Recipient is not local to the server. Server responds with a fowarding address that should be tried.
552Action was aborted because storage allocation was exceeded.
553Action was aborted because the mailbox name was invalid.
554Transaction failed, without a clear reason.

About the Author

has posted a total of 1974 articles.

Comments On This Post

No comments on this post yet!

Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.

Your IP address is:

Before you can post, you need to prove you are human. If you log in, this test goes away.

Code Links