CMD下利用命令行发送SMTP协议邮件
工具:163邮箱一个,cmd窗口
特别注意:一定要一次性输入正确,退格键无效,一旦输入错误,需要整行命令全部重新输入。
常用命令
| 命令行 | 作用 |
|---|---|
| helo smtp | 和服务器打招呼,测试登陆进去没 |
| auth login | 登陆具体邮箱,用户名和密码是经过base64加密的 |
| mail from | 输入邮件的发送方 |
| rcpt to | 输入邮件的接收方 |
| data | 开始编写邮件 |
| . | 结束编写邮件 |
| quit | 退出 |
连接邮件服务器
输入telnet smtp.163.com 25,
预期返回:
220 163.com Anti-spam GT for Coremail System (163com[20141201])
证明Telnet服务可以正常使用。
常见错误:
'telnet' 不是内部或外部命令,也不是可运行程序或批处理文件。解决办法:开启telnet客户端
向服务器表明身份
输入helo 163.com
预期返回:
250 OK
登录认证
输入auth login
预期返回:
334 dXNlcm5hbWU6
输入邮箱名
输入邮箱名的base64编码后的字符串。
例如:邮箱名为test@163.com;
test编码后的字符串为dGVzdA==(不需要将@163.com进行编码)
所以继续输入:dGVzdA== 后回车。
预期返回:334 UGFzc3dvcmQ6。
输入密码(不是邮箱密码,是SMTP授权密码)
输入SMTP授权密码的base64编码后的字符串。
预期返回:235 Authentication successful。
登陆成功。
编写邮件
输入发件人邮箱
输入:mail from:<testtesttest@163.com>
预期返回:250 Mail OK。
输入收件人邮箱
输入:rcpt to:<1019198954@qq.com>
预期返回:250 Mail OK。
输入正文命令
输入:data
预期返回:354 End data with <CR><LF>.<CR><LF>,表示可以进行邮件正文输入,以单行.结束正文输入。
正文
输入发件人邮箱
输入:from:testtesttest@163.com
输入接收者邮箱
输入:to:1019198954@qq.com
输入标题与正文内容
输入:subject:hello(hello为标题)
标题之后必须空一行,下行开始表示邮件正文内容。
如图:

结束输入
输入:.(单独占一行)
预期返回:250 Mail OK queued as smtp7,C8CowABnLs8Lw5NfoaioEw--.35799S2 1603520279。
退出
输入:quit
预期返回:221 Bye
End
附录
SMTP返回码含义
| 代码 | 含义 |
|---|---|
| 220 | 服务就绪 |
| 221 | 服务关闭传输信道 |
| 235 | 用户验证成功 |
| 250 | 要求的邮件操作完成 |
| 334 | 等待用户输入验证信息 |
| 354 | 开始邮件输入,以.结束 |
| 421 | 服务未就绪,关闭传输信道 |
| 502 | 错误的命令序列 |
| 535 | 用户验证失败 |
| 550 | 要求的邮件操作未完成,邮箱不可用(例如,邮箱未找到,或不可访问) |

本文详细指导如何在CMD中通过SMTP协议使用163邮箱发送邮件,包括连接服务器、身份验证、邮件编写和发送的完整流程,以及常见问题及响应码解析。
1028

被折叠的 条评论
为什么被折叠?



