RFC3501(imp4协议)中文版(7)

2019-08-17 12:21

保存8位数据的服务器执行体必须能够用一个[MIME-IMB]内容转换编码,进行8位APPEND数据与7位(APPEND数据)之 间的可逆转换。

注意:可能有例外,比如,草稿邮件――其中被请求的[RFC-2822]头在APPEND的邮件原义参数中被省略了。这样做的整个关联必须被理解并小心权衡。

如果一个组合列表被声明,则标记位应当在结果邮件中被设置;否则,结果邮件的标记列表默认设置为空。两种情况下,Recent标记都要设置。

如果声明了一个日期-时间,实际日期应当在结果邮件中被设置;否则,结果邮件的实际日期默认设置为当前日期和时间。

如果插入操作因为某种原因不能成功,邮箱必须恢复至APPEND尝试前的状态;不允许局部的插入操作。

如果目标邮箱不存在,服务器必须返回一个错误,且不能自动创建邮箱。除非确定目标邮箱不能被创建,否则,服务器必须发送响应码 “[TRYCREATE]”作为标签化NO响应的文本的前缀。这给客户端一个暗示,即它可以尝试一个CREATE命令,并且,如果CREATE成功,还可 以重试APPEND。

如果邮箱当前被选中,正常的新邮件动作应当发生。特别地,服务器应当通过一个非标签化的EXISTS响应迅速通知客户端。如果服务器不这样做,客户端可以在一个或者多个APPEND命令之后发出一个NOOP命令(或者,NOOP命令失败,发出一个CHECK命令)。 例子:

C: A003 APPEND saved-messages (/Seen) {310} S: + Ready for literal data

C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) C: From: Fred Foobar foobar@Blurdybloop.COM C: Subject: afternoon meeting C: To: mooch@owatagu.siam.edu

C: Message-Id: B27397-0100000@Blurdybloop.COM C: MIME-Version: 1.0

C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII C:

C: Hello Joe, do you think we can meet at 3:30 tomorrow? C:

S: A003 OK APPEND completed 注意:APPEND命令不用于邮件发送,因为它不支持转换[SMTP]信封信息的机制。

6.4. 客户端命令-被选中状态

在被选中状态,操作一个邮箱中邮件的命令是被允许的。

除了全局命令(CAPABILITY, NOOP, 及LOGOUT),及认证状态命令

(SELECT, EXAMINE, CREATE, DELETE, RENAME, SUBSCRIBE, UNSUBSCRIBE, LIST, LSUB, STATUS, 及 APPEND),在被选中状态时以下命令也是有效 的:CHECK, CLOSE, EXPUNGE, SEARCH, FETCH, STORE, COPY, 及UID。

6.4.1. CHECK命令

参数:无

响应:此命令无需特定响应 结果:OK-check完成

BAD-未知命令,或者无效参数

CHECK命令请求当前被选中邮箱的一个检查站。一个检查站指向每个取决于实现体的、与邮箱相关联的(例如,以邮箱在硬盘中的状态,决定它在服 务器上的内存中的状态)、并不是作为每个命令的一部分进行常规执行的内部事务。一个检查站可以完成实时的非瞬时数量。如果一个服务器实现体没有这些内部事 务的考虑,CHECK等效于NOOP。

一个EXISTS非标签化响应作为CHECK的一个结果发生,这是不一定的。NOOP,而不是CHECK,应当用于新邮件的投票。 例子:

C: FXXZ CHECK

S: FXXZ OK CHECK Completed

6.4.2. CLOSE命令

参数:无

响应:此命令无需特定响应

结果:OK-close完成,当前是认证状态 BAD-未知命令,或者无效参数

CLOSE命令从当前被选中邮箱中永久删除带有/Deleted标记位的所有邮件,并从被选中状态返回至认证状态。没有非标签化EXPUNGE响应被发送。 如果邮箱通过EXAMINE命令被选中,或者用别的方法以只读方式选中,则没有邮件会被删除,也不会报错。

甚至,一个邮箱被选中,没有预先发送一个CLOSE命令,一个

SELECT, EXAMINE, 或者LOGOUT命令就可以被发出。 SELECT, EXAMINE, 及LOGOUT命令没有进行删除,就暗暗关闭了当前被选中的邮箱。然而,当很多邮件被删除时,一个CLOSE- LOGOUT或者CLOSE-SELECT序列比一个EXPUNGE-LOGOUT或者EXPUNGE-SELECT快得多,因为没有非标签化 EXPUNGE响应(客户端可以适当忽略)被发送。

6.4.3. EXPUNGE命令

参数:无

响应:非标签化响应:EXPUNGE 结果:OK-expunge完成

NO-expunge失败:不能删除(例如,没有权限) BAD-未知命令,或者无效参数

EXPUNGE命令从当前被选中邮箱中永久删除带有/Delted标记位的所有邮件。在返回一个OK到客户端前,每个被删除的的邮件会引发一个非标签化的EXPUNGE响应被发送。 例子:

C: A202 EXPUNGE S: * 3 EXPUNGE S: * 3 EXPUNGE S: * 5 EXPUNGE S: * 8 EXPUNGE

S: A202 OK EXPUNGE complted

注意:在这个例子中,邮件3,4,7,及11带/Deleted标记位。进一步的解释参看EXPUNGE响应的描述。

6.4.4. SEARCH命令

参数:OPTIONAL [CHARSET]声明,检索准则(一个或者多个) 响应:REQUIRED非标签化响应:SEARCH 结果:OK-search完成

NO-search错误:不能检索该[CHARSET]或者准则 BAD-未知命令,或者无效参数

SEARCH命令检索邮箱以获取符合给定准则的邮件。检索准则由一个或者多个检索关键词组成。来自服务器的非标签化SEARCH响应由符合检索准则的邮件相应的邮件序列号列表组成。

当多个关键词被声明时,结果是匹配这些关键词的所有邮件的交集(并起效)。例如,准则 DELETED FROM “SMITH” SINCE 1-Feb-1994 指向来自Smith的、自从1994年2月1日开始存放于邮箱中的所有被删除的邮件。一个检索关键词也可以是一个或者多个检索关键词的一个组合列表(例 如,使用OR和NOT关键词)。

服务器实现体可能拒绝接受带有终端内容媒体类型的[MIM-IMB]主体部分,而接受TEXT和SEARCH匹配集相应的MESSAGE。

OPTIONAL [CHARSET]声明由其后紧跟着一个注册了的[CHARSET]的字“CHARSET”组成。它表示,出现在检索准则中 的字符串的[CHARSET]。在以[CHARSET]而不是US-ASCII比较文本之前,[MIME-IMB]内容转换编码,及在[RFC-

2822]/[MIME-IMB]头部的[MIME-HDRS]字符串,必须被解码。US-ASCII必须受支持;其它的[CHARSET]s可能受支 持。 如果服务器不支持声明了的[CHARSET],它必须返回一个标签化的NO响应(而不是一个BAD)。该响应应当包含BADCHARSET响应码,该响应码可能列出受服务器支持的[CHARSET]s。

在字符串形式的所有检索关键词里,如果该字符串是该范围的一个子串,则邮件符合该关键词。匹配是不区分大小写的。

已定义的检索关键词如下。参数的准确语法定义参看正式语法一节。

带有已声明的邮件序列号集相应的邮件序列号的邮件。 ALL

邮件中所有邮件;ANDing的默认初始关键词。 ANSWERED

带有/Answered标记位的邮件。

BCC

在信封结构的BCC域包含有指定字符串的邮件。 BEFORE

实际日期(忽视时间和时区)早于指定日期的邮件。 BODY

在邮件的主体域包含有指定字符串的邮件。 CC

在信封结构的CC域包含有指定字符串的邮件。 DELETED

带有/Deleted标记位的邮件。 DRAFT

带有/Draft标记位的邮件。 FLAGGED

带有/Flagged标记位的邮件。 FROM

在信封结构的FROM域包含有指定字符串的邮件。 HEADER

带有一个含指定field-name([RFC-2822]中定义)的头部、且在该头部(它跟在colon之后)的文本中包含指定字符串的邮 件。如果将要检索的字符串(参数中的string)长度为零,那么,它将匹配带有一个含指定field-name、内容可有可无的头部行的所有邮件。 KEYWORD

带有指定关键词标记位的邮件。 LARGER

带有一个[RFC-2822](定义)的、大于指定字节数的大小的邮件。 NEW

带有/Recent标记位,但不带有/Seen标记的邮件。它在功能上等效于“(RECENT UNSEEN)”。 NOT

不符合指定检索关键词的邮件。 OLD

不带有/Recent标记位的邮件。它在功能上等效于“NOT RECENT”(与“NOT NEW”相反)。 ON

实际日期(忽视时间和时区)在指定日期的邮件。 OR 符合任意一个检索关键词的邮件。 RECENT

带有/Recent标记位的邮件。 SEEN

带有/Seen标记位的邮件。 SENTBEFORE

[RFC-2822]Date: header(忽视时间和时区)早于指定日期的邮件。 SENTON

[RFC-2822]Date: header (忽视时间和时区)在指定日期的邮件。 SENTSINCE

[RFC-2822]Date: header (忽视时间和时区)在指定日期或者晚于指定日期的邮件。

SINCE

实际日期(忽视时间和时区)在指定日期或者晚于指定日期的邮件。 SMALLER

带有一个[RFC-2822]的、小于指定字节数大小的邮件。 SUBJECT

在信封结构的SUBJECT域含有指定字符串的邮件。 TEXT

在邮件的头部或者主体含有指定字符串的邮件。 TO

在信封结构的TO域含有指定字符串的邮件。 UID

带有指定唯一标识符集相应的唯一标识符的邮件。序列集顺序排列是允许的。 UNANSWERED

不带有/Answered标记位的邮件。 UNDELETED

不带有/Deleted标记位的邮件。 UNDRAFT

不带有/Draft标记位的邮件。 UNFLAGGED

不带有/Flagged标记位的邮件。 UNKEYWORD

不带有指定关键词标记位的邮件。 UNSEEN

不带有/Seen标记位的邮件。 例子:

C: A282 SEARCH FLAGGED SINCE 1-Feb-1994 NOT FROM “Smith” S: * SEARCH 2 84 882

S: A282 OK SEARCH completed

C: A283 SEARCH TEXT “string not in mailbox” S: * SEARCH

S: A283 OK SEARCH completed

C: A284 SEARCH CHARSET UTF-8 TEXT {6} C: XXXXXX

S: * SEARCH 43

S: A284 OK SEARCH completed

注意:因为本文档限制于7位ASCII文本,所以不可能显示真的UTF-8。“XXXXXX”可能是实际处理中的8位数据的6个字节。

6.4.5. FETCH命令


RFC3501(imp4协议)中文版(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于大数据时代研究会计信息化风险与防范策略

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: