My Quotes

When U were born , you cried and the world rejoiced
Live U'r life in such a way that when you go

Thursday, June 10, 2010

Test SMTP from command Line

Sample Steps in a nutshell

  1. Telnet to the mail server on the correct port (by default port 25) e.g. telnet mailhost 25
  2. Type EHLO <domain name> and press enter e.g. EHLO
  3. Type MAIL FROM:<valid sending email address> e.g. MAIL
  4. Type RCPT TO:<valid receiving mailbox to which you have access> e.g. RCPT
  5. Type DATA and press enter
  6. (Optional) Type Subject: <subject of the test email> e.g. Subject:This is a test email via telnet to port 25 on mailhost 
  7. Enter the text of the message e.g. This is a test message sent at 10:33 on 12/08/2009. 
  8. Press Enter, then a full-stop/period, then Enter again to end the message. 
  9. Type QUIT to disconnect from the mail server. 
  10. Exit Telnet as normal.

Detailed description of the steps
This article only outlines information for a connectivity test for messaging with Exchange Server, if you are not able to connect to the Exchange Server, please search the KB for other symptoms or error messages you are experiencing. For additional information on troubleshooting Exchange transport issues, please refer to the following article in the Microsoft knowledgebase:
( ) General troubleshooting for transport issues in Exchange 2000 Server and in Exchange Server.
Before you start the Telnet session, you must have the full SMTP e-mail address of the destination user who you want to send this test message to. This e-mail address must be in the following format:
You must also have the fully qualified domain name (FQDN) or the IP address of the server computer that is running the SMTP services (for example, If the servers are in your organization, you may already have this information. If the servers are external, the easiest way to find this information is to use Nslookup.exe to find the DNS records that contain this information. 
  • Some Telnet applications require you to turn on local echoing to see the commands that you are typing. To do this while in a Microsoft Telnet session, type set local_echo at the command prompt.
  • In Microsoft Windows XP, type set localecho instead of set local_echo.  
In the following steps, you run Telnet from the command line. To open a command line, Click Start, click Run, type cmd in the Open box, and then click OK.You can start a Telnet session by using the Telnet command in the following format:

Note Press ENTER after you type each line.
telnet servername portnumber
For example, type:
telnet 25
Note You can replace servername with the IP address or the FQDN of the SMTP server that you want to connect to. Remember to press ENTER after each command.

If the command works, you receive a response from the SMTP server that is similar to the following: 
220 Microsoft Exchange Internet Mail Connector <version number of the IMC>
Start communication by typing the following command:
Note You can use the HELO command, but EHLO is a verb that exists in the Extended SMTP verb set that is supported in all current Microsoft implementations of SMTP. It is a good idea to use EHLO, unless you believe that there is a problem with the Extended SMTP Verbs.

If the command is successful, you receive the following response:
250 OK

 Type the following command to tell the receiving SMTP server who the message is from:
Note This address can be any SMTP address that you want, but it is a good idea to consider the following issues:
  1. Some SMTP mail systems filter messages based on the MAIL FROM: address and may not permit certain IP addresses to connect or may not permit the IP address to send e-mail to the SMTP mail system if the connecting IP address does not match the domain where the SMTP mail system resides. In this example, that domain is
  2. If you do not use a valid e-mail address when you send a message, you cannot determine if the message had a delivery problem, because the non-delivery report (NDR) cannot reach an IP address that is not valid. If you use a valid e-mail address, you receive the following response from the SMTP server:
    250 OK - MAIL FROM
Type the following command to tell the receiving SMTP server whom the message is to.

Note It is a good idea to always use a valid recipient SMTP address in the domain that you are sending to. For example, if you are sending to, you must be certain that exists in the domain. Otherwise, you will receive an NDR.

Type the following command with the SMTP address of the person you want to send to:
RCPT TO: User@Domain.Com
You receive the following response:
250 OK - Recipient User@ Domain.Com
Type the following command to tell the SMTP server that you are ready to
 send data: 
You receive the following response:

354 Send data. End with CRLF.CRLF


You are now ready to start typing the 822/2822 section of the message. 
The user will see this part of the message in their inbox. Type the 
following command to add a subject line: 
Subject: test message
Press ENTER two times. You do not receive a response from this command.

Note The two ENTER commands comply with Request for Comments (RFC) 822 and 2822. 822 commands must be followed by a blank line.

Type the following command to add message body text: 
This is a test message you will not see a response from this command.

Type a period (.) at the next blank line, and then press ENTER. 

 You receive the following response:
250 OK

Close the connection by typing the following command: 
You receive the following response:
221 closing connection
Verify that the recipient received the message that you sent.
If any error event messages appear in the application event log, or if 
there are problems receiving the message, check the configuration or the
 communication to the host 

Advanced Testing

In addition to the basic testing steps that are listed in this article, you can use a delivery receipt to test mail in both directions. You can use this method to verify that the SMTP server can accept an inbound connection and generate a delivery receipt back to the sender to test outbound connectivity of the SMTP server.

To request a delivery receipt for the test message, see step 4 in the "Basic Testing" section of this article to make sure that the information provided is a valid e-mail address that can receive the delivery receipt. Then in step 5 in the "Basic Testing" section of this article, type the following command in the Telnet session:
RCPT TO:User@Site.Domain.Com notify=success,failure.

No comments :