Windows 使用 Telnet 测试 smtp

2022-08-06 17:04:59 浏览数 (1)

在 Windows 下可以使用 telnet 测试 SMTP 协议, 本文记录相关内容。

telnet 简介

Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

开启 Telnet 服务

  • 进入控制面板 -> 应用 -> 启动或关闭 Windows 功能
  • 开启 Telnet 客户端
  • 确定即可

telnet 测试

  • Windows下,在telnet 工具中可以测试 smtp
  • 这里以QQ邮箱为例
连接邮件服务器
  • 打开cmd,输入:telnet smtp.qq.com 25 ,连接邮件服务器,成功后返回如下信息
代码语言:javascript复制
telnet smtp.qq.com 25 
220 smtp.qq.com Esmtp QQ Mail Server

向服务器表明身份

输入helo qq.com,向服务器表明身份,成功后返回如下信息

代码语言:javascript复制
helo qq.com
250 smtp.qq.com

登陆验证

发送邮件前,需要先登陆,通过邮件服务器认证后才可以发送邮件

在线base64编码转换器:http://base64.xpcha.com/

  • 操作步骤:
  1. cmd中输入auth login,返回如下信息
代码语言:javascript复制
auth login
334 UXN1cm5hbWU6

  1. 输入邮箱的base64编码 将邮箱账号转换为 base64 的编码填入,返回如下信息
代码语言:javascript复制
334 UGFzc3dvcmQ6

  1. 输入开启 IMAP/SMPT 时授权码的base64编码,成功后返回如下信息
代码语言:javascript复制
235 Authentication successful

发送邮件

smtp常用命令

命令

含义

helo/ehlo

向服务器标识用户身份

mail

初始化邮件传输

mail from

发件人,格式mail from:xxxxx@126.com

rcpt to

收件人,格式rcpt to:yyyyyy@126.com

data

在单个或多个rcpt 命令后,表示所有的邮件接收人已标识,并初始化传输,以. 结束

VRFY

用于验证指定的用户/ 邮箱是否存在;由于安全方面的原因,服务器常禁止此命令

EXPN

验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用

HELP

查询服务器支持什么命令

NOOP

无操作,服务器应响应OK

QUIT

结束会话

RSET

重置会话,当前传输被取消

smtp 返回码

返回码

格式含义

500

格式错误,命令不可识别(此错误也包括命令行过长)

501

参数格式错误

502

命令不可实现

503

错误的命令序列

504

命令参数不可实现

211

系统状态或系统帮助响应

214

帮助信息

220

服务就绪

221

服务关闭传输信道

421

服务未就绪,关闭传输信道(当必须关闭时,此应答可以作为对任何命令的响应)

250

要求的邮件操作完成

251

用户非本地,将转发向

450

要求的邮件操作未完成,邮箱不可用(例如,邮箱忙)

550

要求的邮件操作未完成,邮箱不可用(例如,邮箱未找到,或不可访问)

451

放弃要求的操作;处理过程中出错

551

用户非本地,请尝试

452

系统存储不足,要求的操作未执行

552

过量的存储分配,要求的操作未执行

553

邮箱名不可用,要求的操作未执行(例如邮箱格式错误)

354

开始邮件输入,以. 结束

554

操作失败

535

用户验证失败

235

用户验证成功

334

等待用户输入验证信息 for next connection

参考资料

  • https://blog.csdn.net/weixin_41270708/article/details/81073741
  • https://baike.baidu.com/item/Telnet/810597?fr=aladdin

0 人点赞