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 ;
Mon, 29 Jan 2007 13:55:16 -0800 (PST)
3: Return-Path:
4: Received: from a.org (a.org [123.45.67.89])
by b.org with ESMTP id ;
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
9: To: Bob
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.
- 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.
- 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.
| SMTP Code | SMTP / ESMTP Message Description |
|---|---|
| 211 | System status, or system help reply |
| 214 | Help message |
220![]() |
Service ready |
| 221 | Service closing transmission channel |
250![]() |
Requested mail action okay, completed |
251![]() |
User not local; will forward to (other address) |
354![]() |
Start mail input; end with . |
421![]() |
Service not available, closing transmission channel |
450![]() |
Requested mail action not taken: mailbox unavailable |
451![]() |
Requested action aborted: local error in processing |
452![]() |
Requested action not taken: insufficient system storage |
500![]() |
Syntax error, command unrecognized |
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 |
551![]() |
User not local; please try |
552![]() |
Requested mail action aborted: exceeded storage allocation |
553![]() |
Requested action not taken: mailbox name not allowed |
554![]() |
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
mail from:
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