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
的UNCHANGEDSINCE
mod-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