本文最后更新于:2024年1月14日 晚上

在 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
2
telnet smtp.qq.com 25 
220 smtp.qq.com Esmtp QQ Mail Server

向服务器表明身份

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

1
2
helo qq.com
250 smtp.qq.com

登陆验证

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

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

  • 操作步骤:
  1. cmd中输入auth login,返回如下信息
1
2
auth login
334 UXN1cm5hbWU6
  1. 输入邮箱的base64编码

    将邮箱账号转换为 base64 的编码填入,返回如下信息

1
334 UGFzc3dvcmQ6
  1. 输入开启 IMAP/SMPT 时授权码的base64编码,成功后返回如下信息
1
235 Authentication successful

发送邮件

  1. 输入发送人邮箱

    1
    mail from : xxxxxx@qq.com
  2. 输入收信人邮箱

    1
    rcpt to: yyyyyy@qq.com
  3. 输入data 回车,成功后就可以进行邮件正文编辑

  4. 邮件输入:

    1
    2
    3
    4
    5
    from :xxxxxx@qq.com   (发件人邮箱,可以不写)
    to:yyyyyy@qq.com (收件人邮箱,可以不写)
    (邮件主题)
    (必须空一行,下行开始表示邮件正文内容)
    Email test!
  5. 收到邮件

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://www.zywvvd.com/notes/coding/internet/telnet/telnet/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

Windows 使用 Telnet 测试 smtp
https://www.zywvvd.com/notes/coding/internet/telnet/telnet/
作者
Yiwei Zhang
发布于
2022年2月3日
许可协议