我在 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 中却有。
只需在“连接类型”字段中选择“原始”,它就可以正常工作。
来自 PuTTY 的文档:
许多 Internet 协议由纯文本形式的命令和响应组成。例如,SMTP(用于传输电子邮件的协议)、NNTP(用于传输 Usenet 新闻的协议)和 HTTP(用于为网页提供服务的协议)都由可读的纯文本命令组成。
有时,通过键入协议命令并观察响应,直接连接到这些服务之一并“手动”说出协议会很有用。在 Unix 机器上,您可以使用系统的 telnet 命令连接到正确的端口号来执行此操作。例如,telnet mailserver.example.com 25 可能使您能够直接与运行在邮件服务器上的 SMTP 服务对话。
尽管 Unix telnet 程序提供了此功能,但所使用的协议并不是真正的 Telnet。实际上根本没有实际的协议;通过连接发送的字节正是您键入的字节,屏幕上显示的字节正是服务器发送的字节。Unix telnet 将尝试检测或猜测它正在与之通信的服务是否是真正的 Telnet 服务;PuTTY 更喜欢被告知肯定。
为了与这种类型的服务建立调试连接,您只需从“会话”配置面板的“协议”按钮中选择第四个协议名称“原始”。