CMD下利用命令行发送SMTP协议邮件

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编码后的字符串。
例如:邮箱名为[email protected]
test编码后的字符串为dGVzdA==(不需要将@163.com进行编码)
所以继续输入:dGVzdA== 后回车。
预期返回:334 UGFzc3dvcmQ6

输入密码(不是邮箱密码,是SMTP授权密码)

输入SMTP授权密码的base64编码后的字符串。
预期返回:235 Authentication successful

登陆成功。

编写邮件

输入发件人邮箱

输入:mail from:
预期返回:250 Mail OK

输入收件人邮箱

输入:rcpt to:<[email protected]>
预期返回:250 Mail OK

输入正文命令

输入:data
预期返回:354 End data with .,表示可以进行邮件正文输入,以单行.结束正文输入。

正文

输入发件人邮箱

输入:from:[email protected]

输入接收者邮箱

输入:to:[email protected]

输入标题与正文内容

输入:subject:hello(hello为标题)

标题之后必须空一行,下行开始表示邮件正文内容。
如图:
CMD下利用命令行发送SMTP协议邮件_第1张图片

结束输入

输入:.(单独占一行)
预期返回:250 Mail OK queued as smtp7,C8CowABnLs8Lw5NfoaioEw--.35799S2 1603520279

退出

输入:quit
预期返回:221 Bye

End

附录

SMTP返回码含义

代码 含义
220 服务就绪
221 服务关闭传输信道
235 用户验证成功
250 要求的邮件操作完成
334 等待用户输入验证信息
354 开始邮件输入,以.结束
421 服务未就绪,关闭传输信道
502 错误的命令序列
535 用户验证失败
550 要求的邮件操作未完成,邮箱不可用(例如,邮箱未找到,或不可访问)

你可能感兴趣的:(SMTP,CMD,1024程序员节)