class Net::IMAP::ResponseCode
Net::IMAP::ResponseCode 表示响应代码。响应代码可以从 ResponseText#code 中检索,并且可以包含在任何“条件”响应中:当响应类型为“条件”(“OK”,“NO”,“BAD”,“PREAUTH”或“BYE”)时,任何 TaggedResponse 和 UntaggedResponse 都可能包含响应代码。
一些响应代码带有附加数据,这些数据将由 Net::IMAP 解析。其他响应代码的 data 返回 nil,但用作同一响应中人类可读的 ResponseText#text 的机器可读注释。当 Net::IMAP 不知道如何解析响应代码文本时,data 将返回未解析的字符串。
除非生成它的命令将其删除,否则未标记的响应代码 data 会直接推送到 Net::IMAP#responses 上,并以 name 作为键。使用 Net::IMAP#add_response_handler 来查看不返回其 TaggedResponse 的命令方法的标记响应代码。
IMAP 扩展可以定义新的代码和随之而来的数据。 IANA IMAP 响应代码注册表包含所有标准响应代码的规范链接。响应代码是向后兼容的:即使客户端未启用定义它们的扩展,服务器也可以发送新的响应代码。当遇到未知的响应代码数据时,data 将返回未解析的字符串。
IMAP4rev1 响应代码¶ ↑
有关 IMAP4rev1 基本响应代码集的完整定义,请参阅 [IMAP4rev1] §7.1,“服务器响应 - 状态响应”
-
ALERT,ResponseText#text包含必须引起用户注意的特殊警报。 -
BADCHARSET,data将是字符集字符串数组,或者为nil。 -
CAPABILITY,data将是功能字符串数组。 -
PARSE,ResponseText#text表示解析消息的 [RFC5322] 或 [MIME-IMB] 标头时出错。 -
PERMANENTFLAGS,后跟一个标志数组。系统标志将是符号,关键字标志将是字符串。请参阅Net::IMAP的系统标志 -
READ-ONLY,邮箱被选择为只读,或更改为只读 -
READ-WRITE,邮箱被选择为读写,或更改为读写 -
TRYCREATE,当附加或复制操作因目标邮箱不存在而失败时。 -
UIDNEXT,data是一个整数,表示邮箱的下一个 UID 值。请参阅 [IMAP4rev1],§2.3.1.1,“唯一标识符 (UID) 消息属性”。 -
UIDVALIDITY,data是一个整数,表示邮箱的 UID 有效性值。请参阅 [IMAP4rev1],§2.3.1.1,“唯一标识符 (UID) 消息属性”。 -
UNSEEN,data是一个整数,表示未设置\Seen标志的消息数。被 IMAP4rev2 弃用。
BINARY 扩展¶ ↑
请参阅 [RFC3516]。
-
UNKNOWN-CTE,带有标记的NO响应,当服务器不知道如何解码 CTE(内容传输编码)时。data为nil。请参阅IMAP#fetch。
UIDPLUS 扩展¶ ↑
请参阅 [RFC4315 §3]。
-
APPENDUID,data是UIDPlusData。请参阅IMAP#append。 -
COPYUID,data是UIDPlusData。请参阅IMAP#copy。 -
UIDNOTSTICKY,data为nil。请参阅IMAP#select。
SEARCHRES 扩展¶ ↑
请参阅 [RFC5182]。
-
NOTSAVED,带有标记的NO响应,当搜索结果变量未保存时。data为nil。
RFC5530 响应代码¶ ↑
请参阅 [RFC5530],“IMAP 响应代码”,以了解以下响应代码的定义,它们都是人类可读的 ResponseText#text 的机器可读注释,并且它们自己的 data 为 nil
-
UNAVAILABLE -
AUTHENTICATIONFAILED -
AUTHORIZATIONFAILED -
EXPIRED -
PRIVACYREQUIRED -
CONTACTADMIN -
NOPERM -
INUSE -
EXPUNGEISSUED -
CORRUPTION -
SERVERBUG -
CLIENTBUG -
CANNOT -
LIMIT -
OVERQUOTA -
ALREADYEXISTS -
NONEXISTENT
QRESYNC 扩展¶ ↑
请参阅 [RFC7162]。
-
CLOSED,当通过选择或检查另一个邮箱而隐式关闭当前选择的邮箱时返回。data为nil。
IMAP4rev2 响应代码¶ ↑
请参阅 [RFC9051] §7.1,“服务器响应 - 状态响应”,了解 IMAP4rev2 响应代码的完整描述。IMAP4rev2 包括上面列出的所有响应代码(“UNSEEN”除外),并添加了以下内容
-
HASCHILDREN,带有标记的NO响应,当邮箱删除失败,因为服务器不允许删除具有子邮箱的邮箱时。data为nil。
CONDSTORE 扩展¶ ↑
请参阅 [RFC7162]。
-
NOMODSEQ,当选择不支持 mod-sequence 的邮箱时。data为nil。请参阅IMAP#select。 -
HIGHESTMODSEQ,data是一个整数,表示邮箱中所有消息的最高 mod-sequence 值。请参阅IMAP#select。 -
MODIFIED,data是一个SequenceSet,表示自给定给STORE或UID STORE的UNCHANGEDSINCEmod-sequence 以来已修改的消息。
OBJECTID 扩展¶ ↑
请参阅 [RFC8474]。
-
MAILBOXID,data是一个字符串
公共实例方法
返回已解析的响应代码数据,例如:功能字符串数组、字符集字符串数组、永久标志列表、整数等。响应代码决定了响应代码数据可以采用的形式。
# File net-imap-0.5.4/lib/net/imap/response_data.rb, line 320
返回响应代码名称,例如“ALERT”、“PERMANENTFLAGS”或“UIDVALIDITY”。
# File net-imap-0.5.4/lib/net/imap/response_data.rb, line 313