当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

21.1.2SMTP协议与指令

9/17/2020 9:26:54 PM 人评论

21.1.2SMTP协议与指令

21.1.2 SMTP协议与指令

SMTP是简单邮件传输协议的英文缩写,它可以实现客户端向服务器发送邮件的功能。SMTP分为命令头和信息体两部分。命令头主要完成客户端与服务器的连接、验证等,整个过程由多条命令组成。每个命令发到服务器后,由服务器给出响应信息,一般为3位数字的响应码和响应文本。不同的服务器返回的响应码是遵守协议的,但是响应正文则不必。每个命令及响应的最后都有一个回车符,这样使用fputs()和fgets()就可以进行命令与响应的处理。SMTP的命令及响应信息都是单行的。信息体则是邮件的正文部分,最后的结束行应以单独的句点“.”作为结束行。客户端常用的SMTP指令如下所示。

❑HELO hostname:表示通信开始。

❑MAIL FROM<sender_address>:告诉服务器发信人的地址。

❑RCPT TO<receiver_address>:告诉服务器收信人的地址。

❑DATA:所发送电子邮件本身,且最后要以只含有.的特殊行结束。

❑RESET:表示取消刚才的指令,重新开始。

❑VRFY:校验账号是否存在。

❑QUIT:退出连接,通信结束。

下面所示是服务器端SMTP主要的响应消息。

❑220:表示服务就绪,在socket连接成功时,即返回此信息。

❑221:表示正在处理。

❑250:表示请求邮件动作正确,即完成HELO、MAIL FROM、RCPT TO和QUIT指令执行成功后返回此信息。

❑354:表示开始电子邮件数据的输入,以应为句点“.”结束。

❑500:表示语法错误,命令不能识别。

❑550:表示命令不能执行,邮箱无效。

❑552:表示由于磁盘空间不足,中断处理。

本节简单介绍了SMTP协议,理解这些内容有助于本章后续将要讲述的使用PHP发送邮件的实现方法。

相关教程

共有条评论 网友评论

验证码: 看不清楚?