主要参考内容来源网址:http://www.douban.com/group/topic/3573815/
在测试邮件服务器的时候,需要用 smtp 协议登陆服务器端,进行电子邮件的发送测试,以确认电子邮件服务器是否配置正确。如下面一段就是采用 telnet 登陆邮件服务器发送一封短 Email 的范例:
#telnet localhost smtp
#mail from:Bob@example.com
#rcpt to:Steve@sun.com
#data
Hi, Bob!
This is test email!
.
#quit
在上述代码块中,mail from、rcpt to、data 和 quit 都是 smtp 指令。基本的 smtp 指令集如下:
命令 | 功能 |
---|---|
HELO | 向服务器识别用户身份 |
MAIL FROM: | 邮件传输源地址 |
RCPT TO: | 表示邮件接收人 |
DATA | 将要输入邮件正文 |
VRDY | 用于验证用户/邮件是否存在(常被禁止此命令) |
EXPN | 验证邮箱列表是否存在(常被禁止此命令) |
HELP | 查看服务器支持什么命令 |
NOOP | 无操作,服务器响应OK |
QUIT | 结束回话 |
RSET | 重置回话,当前传输被取消 |
输入指令之后,服务器会返回响应信息(节选自《Postfix权威指南》)。下面是一些SMTP的响应码代表的意义:
响应吗范围 | 状态 |
---|---|
2xx | 请求动作已接收并完成,客户端可以继续下一步 |
3xx | 命令不接受,因为服务器还需要更多信息 |
4xx | 暂时性的失败。若客户端下次尝试同样动作,或许可以成功 |
5xx | 永久性失败。客户端不应继续尝试同样的动作 |