Topic Last Modified: 2005-05-24

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


  1. Open a telnet session: From a command prompt, type telnet, and then press ENTER.

  2. 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 ?.

  3. Type o <your mail server domain> 25,and then press ENTER.

  4. Type EHLO <your mail server domain>, and then press ENTER.

  5. Type AUTH LOGIN. The server responds with an encrypted prompt for your user name.

  6. Enter your user name encrypted in base 64. You can use one of several tools that are available to encode your user name.

  7. The server responds with an encrypted base 64 prompt for your password. Enter your password encrypted in base 64.

  8. 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.

  9. 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.

  10. Type DATA.

  11. If desired, type message text, press ENTER, type a period (.), and then press ENTER again.

  12. 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.

How to Use Telnet to Test SMTP Communication的更多相关文章

  1. 用telnet命令,SMTP发送邮件

    邮件的发送是基于smtp协议的.邮件客户端软件给smtp服务器传送邮件和smtp服务器之间传送邮件也都是基于smtp协议的.邮件客户端软件接受邮件是主要基于pop3协议的. 下面介绍利用windows ...

  2. SMTP邮件传输协议发送邮件和附件

    在以前接触的项目中,一直都是在做网站时用到了发送mail 的功能,在asp 和.net 中都有相关的发送mail 的类, 实现起来非常简单.最近这段时间因工作需要在C++ 中使用发送mail 的功能, ...

  3. SMTP邮件传输协议发送邮件和附件(转)

    1.     SMTP 常用命令简介 1). SMTP 常用命令 HELO/EHLO 向服务器标识用户身份 MAIL 初始化邮件传输 mail from: RCPT 标识单个的邮件接收人:常在MAIL ...

  4. ping vs telnet, what is the difference between them and when to use which?

    Ping is an ICMP protocol. Basically any system with TCP/IP could respond to ICMP calls if they were ...

  5. 简单邮件传输协议SMTP

    1.SMTP是由源地址到目的地址传送邮件的一组规则,用来控制信件的中转方式. 2.SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或者中转发出的邮件,客户端通过SMTP命令与SMTP服务器进 ...

  6. https那些事儿

    (一)SSL/TLS协议运行机制的概述 一.作用 不使用SSL/TLS的HTTP通信,就是不加密的通信.所有信息明文传播,带来了三大风险. (1) 窃听风险(eavesdropping):第三方可以获 ...

  7. Linux监控体系

    监控体系 zabbix 博客:www.abcdocker.com 微信公众号:abcdocker 笔者QQ:381493251 Abcdocker交流群:454666672 如果遇到什么问题可以进群询 ...

  8. boost.Asio lib

    Documentation for Boost.Asio http://www.boost.org/doc/libs/1_62_0/doc/html/boost_asio.html https://w ...

  9. SOCKS 5协议详解(转)

    笔者在实际学习中,由于在有些软件用到了socks5(如oicq,icq等),对其原理不甚了解,相信很多朋友对其也不是很了解,于是仔细研读了一下rfc1928,觉得有必要译出来供大家参考. 1.介绍: ...

随机推荐

  1. Go语言获取项目当前路径

    package main import ( "fmt" "os" "os/exec" "strings" ) func ...

  2. javacc学习

    为什么要研究这些,除了个人兴趣之外,还有可以了解语言是怎样解析字符串生成逻辑代码. 他的应用性也是非常之广,如人工智能方面,把复杂的逻辑抽象成简单的文法,不懂编程的人都可以使用 说到人工智能,数据库S ...

  3. Guardian of Decency(二分图)

    Guardian of Decency Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submi ...

  4. ruby 中文字符to_json后乱码(unicode)

    今天遇到一个中文to_json问题 text = "第1章 青豆 不要被外表骗了" text.to_json => "\"\\u7b2c1\\u7ae0 ...

  5. Eclipse为Unity3d编写jar组件

    Unity3d和Android的交互有两种方式: (1)使用Eclipse为Unity3d编写库,也就是jar包,然后导入到U3D中使用: (2)将Unity3d项目导出为Android项目,然后直接 ...

  6. Hadoop入门进阶课程9--Mahout介绍、安装与应用案例

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  7. Shell基础整理

     Shell的作用是将用户输入的文本命令转换成内核能识别的数据指令交给内核进行执行,内核需要翻译成二进制交由CPU底层来执行     用户层->Shell->调用对应应用程序->ke ...

  8. 为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式

    为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式,代码如下: public class DataComparer<T>:IEqualityCompare ...

  9. ASP.NET Core学习零散记录

    赶着潮流听着歌,学着.net玩着Core 竹子学Core,目前主要看老A(http://www.cnblogs.com/artech/)和tom大叔的博客(http://www.cnblogs.com ...

  10. JavaScript 面向对象继承详解

    题记 由于js不像java那样是完全面向对象的语言,js是基于对象的,它没有类的概念.所以,要想实现继承,一般都是基于原型链的方式: 一.继承初探 大多数JavaScript的实现用 __proto_ ...