本文最后更新于:2024年5月7日 下午
在 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 ,连接邮件服务器,成功后返回如下信息
1 |
|
向服务器表明身份
输入helo qq.com
,向服务器表明身份,成功后返回如下信息
1 |
|
登陆验证
发送邮件前,需要先登陆,通过邮件服务器认证后才可以发送邮件
在线base64编码转换器:http://base64.xpcha.com/
- 操作步骤:
- cmd中输入
auth login
,返回如下信息
1 |
|
-
输入邮箱的base64编码
将邮箱账号转换为 base64 的编码填入,返回如下信息
1 |
|
- 输入开启 IMAP/SMPT 时授权码的base64编码,成功后返回如下信息
1 |
|
发送邮件
-
输入发送人邮箱
1
mail from : xxxxxx@qq.com
-
输入收信人邮箱
1
rcpt to: yyyyyy@qq.com
-
输入data 回车,成功后就可以进行邮件正文编辑
-
邮件输入:
1
2
3
4
5from :xxxxxx@qq.com (发件人邮箱,可以不写)
to:yyyyyy@qq.com (收件人邮箱,可以不写)
(邮件主题)
(必须空一行,下行开始表示邮件正文内容)
Email test! -
收到邮件
smtp常用命令
命令 | 含义 |
---|---|
helo/ehlo | 向服务器标识用户身份 |
初始化邮件传输 | |
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
文章链接:
https://www.zywvvd.com/notes/coding/internet/telnet/telnet/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付