在某些服务器上通过 Telnet 打开 SMTP 时 PuTTY 关闭

Bug*_*uge 5 telnet smtp putty

我在 Vista 上安装了 PuTTY。当我将它设置为 Telnet 并输入 SMTP2Go.com 的主机名和 25 的端口时,窗口打开一秒钟不显示任何文本然后关闭。我还尝试了 2525、587 和 8025 端口,SMTP2Go 表示这些端口也可以使用相同的结果。我从命令提示符(我必须从控制面板启用)使用 Telnet 来打开带有端口 25 的 smtp2go.com 并且它工作正常。我也可以同时使用 PuTTY 和另一个 Telnet 连接到 outing.verizon.net。我正在为我的 ISP 使用 Frontier,它在他们的网站上说端口 25 被阻止了,其他人已经确认了这一点,所以我发现我可以使用 Microsoft Telnet 在端口 25 上访问 SMTP2Go 很奇怪。SMTP2Go 能否确定我正在使用的客户端并阻止某些客户端?

同样在 Microsoft Telnet 中,我的命令和服务器对 Verizon 的响应之间没有换行符,但在 PuTTY 中却有。

Gro*_*uez 5

只需在“连接类型”字段中选择“原始”,它就可以正常工作。

来自 PuTTY 的文档:

许多 Internet 协议由纯文本形式的命令和响应组成。例如,SMTP(用于传输电子邮件的协议)、NNTP(用于传输 Usenet 新闻的协议)和 HTTP(用于为网页提供服务的协议)都由可读的纯文本命令组成。

有时,通过键入协议命令并观察响应,直接连接到这些服务之一并“手动”说出协议会很有用。在 Unix 机器上,您可以使用系统的 telnet 命令连接到正确的端口号来执行此操作。例如,telnet mailserver.example.com 25 可能使您能够直接与运行在邮件服务器上的 SMTP 服务对话。

尽管 Unix telnet 程序提供了此功能,但所使用的协议并不是真正的 Telnet。实际上根本没有实际的协议;通过连接发送的字节正是您键入的字节,屏幕上显示的字节正是服务器发送的字节。Unix telnet 将尝试检测或猜测它正在与之通信的服务是否是真正的 Telnet 服务;PuTTY 更喜欢被告知肯定。

为了与这种类型的服务建立调试连接,您只需从“会话”配置面板的“协议”按钮中选择第四个协议名称“原始”。