IMAP4登录参照

【IMAP4登录参照】本备忘录的状态
本文为Internet社区描述了一种Internet标准跟踪协议,需要讨论和建议以进一步改
进 。关于本协议的标准化状态和进展请参阅最新的“Internet正式协议标准”(STD1) 。本
备忘录的发布没有限制 。
版权信息
Copyright(C)TheInternetSociety(1997).AllRightsReserved.
1.摘要
在处理大量的用户和许多IMAP4[RFC-2060]服务器时,经常需要把用户从一个IMAP4服
务器转移到另一个 。比方说,由于硬件故障或组织结构的变化就会造成这种变化需求 。
假如客户端的IMAP4发生了变化,登录参照答应该客户端透明地连接到可选择的IMAP4
服务器上 。
参照机制的效率要好于目前的“代理方法(proxymethod)” 。对于后者,本地IMAP4服
务器代表客户与远程服务器连接,从远程服务器获取数据然后再传送给客户 。参照机制直接
使客户与远程服务器连接,通常可以提高带宽的利用率,而且在通过远程服务器验证时也不
需要本地服务器模拟客户的脚色 。
2.本文中的约定
在例子中,“C:”和“S:”分别表示后面的一行是由客户还是服务器发出的 。
本地服务器是包含用户收件箱的IMAP4服务器 。
远程服务器是包含远程邮箱的服务器 。
文中要害字“必须”、“不得”、“要求”、“应”、“不该”、“应该”、“不应”、“建议”、“可
以”和“可选”的解释参阅RFC2119 。
3.概述
支持本文所述扩展的IMAP4服务器必须在CAPABILITY响应中列出要害字
LOGIN-REFERRALS 。激活服务器的LOGIN-REFERRALS功能不需要客户端的动作 。
支持LOGIN-REFERRALS功能的IMAP4服务器不得对返回参照的服务器返回参照 。假如没
有咨询服务器,客户端不能按照超过10级的参照进行 。
LOGIN-REFERRALS的返回码必须按照[IMAP-URL]的定义包含一个有效的IMAP服务器URL
参数 。
本地服务器参照由带标记的NO或OK相应,或者不带标记的BYE相应构成,其中包含
LOGIN-REFERRALS响应码 。
比如:A001NO[REFERRALIMAP://user;AUTH=*@SERVER2/]远程服务器 。
注重
IMAP-URL规定“user;AUTH=*”是必需的,以免客户端依靠于匿名登录 。
4.本地服务器参照
本地服务器可以作为AUTHENTICATE或LOGIN命令的响应返回,也可以出现在连接启动标
志中 。假如服务器在带标记的NO相应中返回本地服务器参照,就说明该服务器不含任何该用
户可以访问的邮箱 。假如服务器在带标记的OK响应中返回本地服务器参照,则表明该用户的
私人邮箱没有在该服务器上,但是该服务器上有一个用户可读的公共信箱 。收到本地服务器
参照后,客户端无法知道这一用户迁移是暂时的还是长期的 。
4.1.LOGIN和AUTHENTICATE参照
假如IMAP4服务器希望把用户重定向到其它的IMAP4服务器上,那么可以用本地服务器
参照响应LOGIN或AUTHENTICATE命令 。
例子:C:A001LOGINMIKEPASSWord
S:A001NO[REFERRALIMAP://MIKE@SERVER2/]
通知用户本服务器无效,连接SERVER2 。
例子:C:A001LOGINMATTHEWPASSWORD
S:A001OK[REFERRALIMAP://MATTHEW@SERVER2/]
通知用户的私人信箱在Server2上,但是可以使用公共信箱 。
例子:C:A001AUTHENTICATEGSSAPI
<交换验证信息>
S:A001NO[REFERRALIMAP://user;AUTH=GSSAPI@SERVER2/]
说明该用户在这个服务器上无效,试连接SERVER2 。
4.2连接启动参照BYE
假如IMAP4服务器拒绝连接并把客户重定向到其它的IMAP4服务器,可以使用不带标记
的BYE和REFERRAL响应码应答,其中包含指向本地服务器的IMAPURL 。

推荐阅读