How to Use Telnet to Test SMTP Communication
Telnet is an extremely useful tool for troubleshooting issues related to SMTP and mail flow. For example, you can use telnet to:
Verify that SMTP is installed properly, and that it has all the necessary commands.
Ensure that your server is accessible over the Internet.
Attempt mail delivery directly over the TCP port.
Determine that all servers are accepting connections.
Determine if a firewall is blocking a connection.
Ensure that a single user can receive mail.
Ensure that a specific domain can receive mail.
Ensure that a specific user or domain can send mail to your domain.
Note
The following procedure shows you how to test the process of an internal user sending mail to a remote user when basic authentication is required for relaying mail outside your organization.
Before You Begin
Before you perform the procedure in this topic, read Troubleshooting Mail Flow and SMTP.
The following permissions are required to perform this procedure:
- Member of the local administrators group
Procedure
To use telnet to test SMTP communication
Open a telnet session: From a command prompt, type telnet, and then press ENTER.
Type set local_echo on a computer running Microsoft Windows® 2000 Server or SET LOCALECHO on a computer running Windows Server™ 2003 or Windows XP, and then press ENTER. This command allows you to view the responses to the commands.
Note
For a list of available telnet commands, type set ?.
Type o <your mail server domain> 25,and then press ENTER.
Type EHLO <your mail server domain>, and then press ENTER.
Type AUTH LOGIN. The server responds with an encrypted prompt for your user name.
Enter your user name encrypted in base 64. You can use one of several tools that are available to encode your user name.
The server responds with an encrypted base 64 prompt for your password. Enter your password encrypted in base 64.
Type MAIL FROM:<sender@domain.com>, and then press ENTER. If the sender is not permitted to send mail, the SMTP server returns an error.
Type RCPT TO:<recipient@remotedomain.com>,and then press ENTER.If the recipient is not a valid recipient or the server does not accept mail for this domain, the SMTP server returns an error.
Type DATA.
If desired, type message text, press ENTER, type a period (.), and then press ENTER again.
If mail is working properly, you should see a response similar to the following indicating that mail is queued for delivery:
250 2.6.0 <INET-IMC-01UWr81nn9000fbad8@mail1.contoso.com.
For More Information
The following example shows a telnet test sending mail from contoso.com to a remote domain with a successful result:
250-mail1.fourthcoffee.com Hello [172.16.0.0]
250-TURN
250-ATRN
250-SIZE 5242880
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-X-EXPS GSSAPI NTLM
250-AUTH GSSAPI NTLM
250-X-LINK2STATE
250-XEXCH50
250 OK
334 VXNlcm5hbWU6
334 UGFzc3dvcmQ6
235 2.7.0 Authentication successful.
250 2.1.0 kim@fourthcoffee.com....Sender OK
250 2.1.5 ted@contoso.com
354 Start mail input; end with <CRLF>.<CRLF>
.
250 2.6.0 <INET-IMC-01UWr81nn9000fbad8@mail1.fourthcoffee.com> Queued mail for delivery
For more information, see Securing Your Exchange Server.