windows环境下smtp邮件测试
一、windows开启telnet服务
windows默认没有打开telnet服务,需要手动打开,步骤如下
操作步骤:
1)进入控制面板
2)点击程序,打开“程序和功能”下的“打开或关闭windows功能”
3)确保“Telnet客户端”是被勾选状态,然后点击确定按钮
4)进入cmd控制台,输入telnet,开启后如下图所示
二、邮箱开启pop3/smtp和IMAP/SMTP服务
本次演示针对QQ邮箱,其他邮箱类似
操作步骤:
1)用网页登陆自己的邮箱,打开设置按钮,如图2-1所示
2)选择“账户”,向下滑动找到“pop3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”
3)开启IMAP/SMTP服务
4)根据提示开启,如下图所示
5)开启成功后记住密码,如下图所示
三、发送smtp邮件
这里以QQ邮箱为例,验证给自己发邮件,其他邮箱类似,操作如下
3.1连接邮件服务器
打开cmd,输入:telnet smtp.qq.com 25 ,连接邮件服务器,成功后如下图
3.2向服务器表明身份
输入helo qq.com,向服务器表明身份,成功后如下图
3.3登陆验证
发送邮件前,需要先登陆,通过邮件服务器认证后才可以发送邮件
在线base64编码转换器:http://base64.xpcha.com/
操作步骤:
1)cmd中输入auth login,如下图所示
2)输入邮箱的base64编码,如下图所示
3)输入开启IMAP/SMPT时授权码的base64编码,如下图所示
3.4发送邮件
操作步骤:
1)输入发送人邮箱mail from :<1552049711@qq.com>
2)输入收信人邮箱 rcpt to:<1552049711@qq.com>
3)输入data 回车,成功后就可以进行邮件正文编辑
4)邮件输入:
from :1552049711@qq.com (发件人邮箱,可以不写)
to:1552049711@qq.com (收件人邮箱,可以不写)
(邮件主题)
(必须空一行,下行开始表示邮件正文内容)
Email test!
. (这里是单独的一行的小数点,表示邮件编辑结束)
四、smtp常用命令
helo/ehlo 向服务器标识用户身份
mail 初始化邮件传输
mail from :发件人,格式mail from:<testman1980@126.com>
rcpt to:收件人,格式rcpt to:<testman1980@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