寸 。
某些POP3客户端有一个选项来声明服务器支持“重迭POP3命令” 。此功能就去除了在
客户端配置PIPELINING的必要性 。
这和ESMTPPIPELINING大体上是同义的 , 但是 , 因为SMTP[SMTP]往往有较短的命令和
响应 , 在组合复合命令和将它们作为一个单元发送时很有好处 。在POP中有这样的情况(比
如 , USER和PASS能分批处理 , 复合RETR和/或DELE命令能成组发送) , 因为POP拥有较短
的命令和某时过于冗长的响应 , 所以还有一个好处是 , 在还在接收早期命令响应时可以发送
新命令(比如 , 在处理一个UIDL响应时发送RETR和/或DELE命令) 。
6.7EXPIRE功能
CAPA标记:EXPIRE
参数:服务器保证的最小保存期 , 或者是NEVER;在AUTHENTICATION状态下可以跟上
USER 。
附加命令:无
受影响的标准命令:无
声明的状态/可能的不同:两者/有
命令有效的状态:n/a
规范参考:此文档
讨论:尽管POP3答应客户端在服务器上遗留消息 , RFC1939[POP3]对这样可能引起的
问题提出了警告 , 并且答应服务器在着站点策略的基础上删除消息 。
EXPIRE功能通过答应服务器通知客户端起作用的策略的方式 , 避免了RFC1939里提到
的问题 。EXPIRE功能的参数表示服务器上的消息的最小保存期 , 以天计算 。
EXPIRE0表明不答应客户端在服务器上遗留邮件;当会话进入UPDATE状态时 , 服务器
可以对每个用RETR下载的消息暗地执行一个DELE 。
EXPIRENEVER声明服务器不会删除消息 。
一个“保存期”的概念被有意弄得模糊 。服务器可能设置一个截止期 , 当一条消息加到
邮箱时 , 当客户端通过LIST或UIDL命令察觉到一条消息的存在时 , 当一条消息遵照某种方
式动作(比如TOP或者RETR)时 , 或者当一些其它事件发生时 。EXPIRE功能不能提供关于
任何特定消息何时到期的精确表示 。此功能的本意在于使客户端更轻易地按一种符合站点策
略和用户意愿的方式行事 。例如 , 对任何试图配置一个“遗留邮件在服务器上”期限 , 并且
此期限大于或等于服务器声明值的某个比例时 , 客户端就可能会显示一个警告信息 。
假如一个站点使用任何自动删除策略 , 它就应该使用EXPIRE功能来声明这一点 。
EXPIRE功能 , 假如参数不是0或NEVER的话 , 就是用来使客户端知道服务器答应邮件
遗留在服务器上 , 并向其展示一个有效的最小值 。
答应用户无限期遗留消息的站点应该用EXPIRENEVER声明这一点 。
假如超期策略因用户而异的话(就是说 , EXPIRE参数可能在验证之后改变) , 服务器必
须在AUTHENTICATION时声明能够为任意用户设置的最小值 。这个值可能是当前所有用户使
用中的最小值(这样的话每个服务器就只有一个值) , 或者甚至是服务器答应为任意用户设
置的最小值 。服务器必须在AUTHENTICATION状态下向EXPIRE的参数附加“USER”标记 , 以
通知客户端在验证之后可以获取一个更精确的值 。服务器应该在TRANSACTION状态下声明这
个更精确的值 。(“USER”标记答应客户端决定是否需要另外的CAPA命令) 。
一个站点的消息超期策略可能根据已经执行的用户动作或者其它因素对待消息 。比如 ,
站点可能在60天后删除未见过的消息 , 在15天后删除完全或者部分见过的消息 。
声明的EXPIRE值是保存期的最小值 , 当前站点策略下的任何范畴或状态 , 以及任何用
户(在AUTHENTICATION状态下)或特定用户都适用此值 。也即 , EXPIRE告诉客户端消息处
推荐阅读
- 支持IPv6地址聚合和重编号的DNS扩展
- IPv6 主机和软件路由器转换机制
- GRE的Key和Sequence Number扩展
- SMTP 针对命令流水线的服务扩展
- 主机扩展用于IP多点传送
- IMAP4 ID 扩展名
- v3 简单目录访问协议:传输层安全扩展
- DNS协议概述
- 荣耀9x支持存储卡扩展吗
- IP骨干网BGP路由协议的扩展性
