Email Troubleshooting 101: Introduction

In the last 10 years, email has evolved from the uber-geeky tool into the corporate mainstream solution that no one can live without. At the base, Internet email is a 40+ year old technology that was originally designed to provide a reliable (not time sensitive) solution for communications between colleagues. As it has gained popularity corporations have started to rely on it for business critical communications with their customers and vendors. Nowadays, IT departments learn about their outages by how well the email solution is performing.

In the rest of this article, I plan on covering a few of the troubleshooting techniques I use to resolve Internet email issues and what may have caused them.

The Parts of an Email
Every email message delivered across the Internet has 2 basic parts, a header and data. The header consists of the delivery information (To, From) and routing information (what servers processed the message when). The data portion consists of the subject, message body and any attachments. (Note: Since Internet email cannot directly handle files, these attachments are [w:uuencoding|converted] to text and placed inline with the message body. This encoding process can add an additional 30% to the attachment size when completed.)

Message Delivery
The delivery of an email message is not obvious. A message may bounce around a dozen times (or more) before it is delivered to the intended recipient. This entire transaction can be found in the message headers.

Here is a great graphic from Wikipedia:


The message header would look something like:
1: Delivered-To: bob@b.org
2: Received: by 10.1.2.15 with SMTP id <number>;
        Mon, 29 Jan 2007 13:55:16 -0800 (PST)
3: Return-Path: <alice@a.org>
4: Received: from a.org (a.org [123.45.67.89])
        by b.org with ESMTP id  <number number number>;
        Mon, 29 Jan 2007 13:55:16 -0800 (PST)
5: Mon, 29 Jan 2007 16:56:18 -0500
6: Subject: Dear Bob,
7: Date: Mon, 29 Jan 2007 16:56:18 -0500
8: From: Alice <a@a.org>
9: To: Bob <bob@b.org>

If you read the header from bottom to top, you see that Alice sent the message at 16:56 -5hrs (or EST) (line #7) and it was delivered at 13:55 -8hrs (or PST) (line #2), meaning it officially delivered before it was sent! (or the two email servers are using different time synchronization servers. You'll also notice that this header includes the IP Address of the servers it touched (line 2 & 4). This is helpful when trying to troubleshoot errors later on.

  1. Open a command window (Start | Run | "CMD" click OK> and trying to PING each of these IP addresses. If you get a positive response, the servers are a least on the network.
  2. Now try to TELNET to the server on port 25 and see if the SMTP server responds.
    c:\Telnet 10.1.1.1 25

    You should get a positive response from the server. A failed response depends on the response.

Here are the possible SMTP Response codes that you may see. Please keep in mind that in general a 2XX indicates success, a 3XX indicates that the server has understood the request but requires further information to complete it, a 4XX error is temporary and a 5XX error is fatal. Float over the for my take on the error for my take on the error.

SMTP Code SMTP / ESMTP Message Description
211 System status, or system help reply
214 Help message
220Start sending your message. Service ready
221 Service closing transmission channel
250Success! Message Sent! Requested mail action okay, completed
251Rerouting message to administrator or alternate address for recipient. User not local; will forward to (other address)
354Message did not follow standard for SMTP mail. Try sending the message in plain-text format and remove any extra spaces at the end of the message. Start mail input; end with .
421The recipient's SMTP server is not responding on port 25. Chcek their DNS records and see if the server is available via PING. Service not available, closing transmission channel
450 Requested mail action not taken: mailbox unavailable
451The recipient may be trying to open your attachment and failing (virus scanning). Try resnding the message using a different encoding method (UUEncoding vs MIME). Requested action aborted: local error in processing
452The message will queue on your server and send when the server is available. Requested action not taken: insufficient system storage
500Your server may be trying to send EHLO commands to a standard SMTP server. Make sure your settings are not hard set. Syntax error, command unrecognized
501Not that common unless you are trying to communicate with a foreign system. Syntax error in parameters or arguments
502Your server may be trying to send EHLO commands to a standard SMTP server. Make sure your settings are not hard set. Command not implemented
503If the recipient server is very busy it may have not received all the information. Try resending the message. Bad sequence of commands
504Your server may be trying to send EHLO commands to a standard SMTP server. Make sure your settings are not hard set. Command parameter not implemented
550This happens when the server attempts to verify all recipients. It could be due to misconfiguration (like server timeout), mailbox deleted, or even spam filtering. Requested action not taken: mailbox unavailable
551The user is configured to only accept messages from certain users. This sender is not one of them. User not local; please try
552The recipient's mailbox is full and exceeded the receive limits imposed on them. Contact this recipient using other means. Requested mail action aborted: exceeded storage allocation
553If you get this error, most likely the mailbox no longer exists. Requested action not taken: mailbox name not allowed
554The recipient's server is blocking you. This could be due to limitations on the server (only accept from specific users) or their spam filter is too tight. Transaction failed

Comments

Hi James, a 421 error is

Hi James, a 421 error is likely caused by port 25 being blocked on the receiving end. If you can, contact the recipient and see if there server is on and accepting messages. Attempt to TELNET to the domain on port 25.

telnet example.com 25

ehlo <your domain>
mail from:<email address at your domain>
rcpt to:webmaster@example.com
data
subject: This is a test

message body goes here.

.

and see if you get any response.

Eric

How can i trouble shoot the

How can i trouble shoot the smtp error no 421-Service not available, closing transmission channel. I need a help for this.

Thanks in advance....

Regards
james

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <blockquote> <center> <hr> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <drupal6>, <html>, <java>, <javascript>, <php>, <posh>.

More information about formatting options