php专区

 首页 > php专区 > PHP应用 > 常用功能 > RFC1939-POP3协议中文版 - php高级应用

RFC1939-POP3协议中文版 - php高级应用

分享到:
【字体:
导读:
          1 简介对于在网络上的比较小的结点,支持消息传输系统(MTS)是不实际的,例如,一台工作站可能不具有充足的资源允许SMTP服务器和相当的本...

RFC1939-POP3协议中文版

1. 简介

对于在网络上的比较小的结点,支持消息传输系统(MTS)是不实际的,例如,一台工作站可能不具有充足的资源允许SMTP服务器和相当的本地邮件传送系统保持序驻留,并持续运行,同样的,将一台个人计算机长时间连接在IP类型网络上的费用也是可观的(结点缺少的资源被称为"联络性")。

虽然如此,在这样的小结点上允许管理邮件是十分有用的,并且这些结点经常支持一个用户代理来管理邮件。为解决这一问题,能够支持MTS的结点就为这些不能支持的结点提供了邮件存储功能。邮局协议-版本3就是使这样的工作站可以用一种比较实用的方法来访问存储于服务器上的储存邮件。通常,这意味着工作站可以从服务器上取得邮件,而服务器为它暂时保存邮件。

在下文中,客户主机指的是利用POP3服务的主机,而服务器主机指的是提供POP3服务的主机。

2.简单说明

在此文档中不指明客户主机如何将邮件送入到传送系统中去。但这里有一个说明:当用户代理需要将信息送到传送系统时,它在接力主机上建立SMTP连接(这些接力主机可以是POP3主机,也可以不是)。

3.基本操作

初始时,服务器通过侦听TCP端口110开始POP3服务。当客户主机需要使用服务时,它将与服务器主机建立TCP连接。当连接建立后,POP3发送确认消息。客户和POP3服务器相互(分别)交换命令和响应,这一过程一直要持续到连接终止。

POP3命令由一个命令和一些参数组成。所有命令以一个CRLF对结束。命令和参数由可打印的ASCII字符组成,它们之间由空格间隔。命令一般是三到四个字母,每个参数却可达40个字符长。

POP3响应由一个状态码和一个可能跟有附加信息的命令组成。所有响应也是由CRLF对结束,现在有两种状态码,"确定" ("+OK")和"失败" ("-ERR")。

对于特定命令的响应是由许多字符组成的,在这些情况中,下面一一表述:在发送第一行响应和一个CRLF之后,任何的附加信息行发送,他们也由CRLF对结束,当所有信息发送结束时,发送最后一行,包括一个结束字符(十进制码46,也就是".")和一个CRLF对。

如果信息中的任何一行以结束字符开始,此行就是通过在那一行预先装入结束而进行字符填充的,因此,多行响应由五个CRLF.CRLF 结束。当检测多行响应时,客户检测以确认此行是否以结束字符开始。如果是的,而且其后的字符不是CRLF,此行的第一个字符(结束字符)将被抛弃;如果其后紧跟CRLF,从POP服务器来的响应终止,包括.CRLF 的行也不被认为是多行响应的一部分了。

分享到:
实现用php发送带附件的邮件 - php高级应...
实现用php发送带附件的邮件 我经常听到这样一个问题:“我有一个从网站发来的合同,我如何给通过表单发送的电子邮件增加一个附件呢?”  首先我要说的是要做到这个没有什么简单的办法。你要很好的理解PHP或其它的服务器端的脚本语言。当然你还要一个真正支持PHP的网站的账号。如果满足了这个...
PHP socket模拟POST请求实例 - php高级应...
PHP socket模拟POST请求实例 我们用到最多的模拟POST请求几乎都是使用php curl来实现了,没考虑到PHP socket也可以实现,今天看到朋友写了一文章,下面我来给大家分享一下PHP socket模拟POST请求实例. 以前模拟post请求俺都用PHP curl扩展实现来着,没想过PHP socket也可以实现,最近翻了下相关...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……