class Net::IMAP::ResponseCode

Net::IMAP::ResponseCode 表示响应代码。响应代码可以从 ResponseText#code 中检索,并且可以包含在任何“条件”响应中:当响应类型为“条件”(“OK”,“NO”,“BAD”,“PREAUTH”或“BYE”)时,任何 TaggedResponseUntaggedResponse 都可能包含响应代码。

一些响应代码带有附加数据,这些数据将由 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,“服务器响应 - 状态响应”

  • ALERTResponseText#text 包含必须引起用户注意的特殊警报。

  • BADCHARSETdata 将是字符集字符串数组,或者为 nil

  • CAPABILITYdata 将是功能字符串数组。

  • PARSEResponseText#text 表示解析消息的 [RFC5322] 或 [MIME-IMB] 标头时出错。

  • PERMANENTFLAGS,后跟一个标志数组。系统标志将是符号,关键字标志将是字符串。请参阅 Net::IMAP 的系统标志

  • READ-ONLY,邮箱被选择为只读,或更改为只读

  • READ-WRITE,邮箱被选择为读写,或更改为读写

  • TRYCREATE,当附加或复制操作因目标邮箱不存在而失败时。

  • UIDNEXTdata 是一个整数,表示邮箱的下一个 UID 值。请参阅 [IMAP4rev1],§2.3.1.1,“唯一标识符 (UID) 消息属性”

  • UIDVALIDITYdata 是一个整数,表示邮箱的 UID 有效性值。请参阅 [IMAP4rev1],§2.3.1.1,“唯一标识符 (UID) 消息属性”

  • UNSEENdata 是一个整数,表示未设置 \Seen 标志的消息数。被 IMAP4rev2 弃用。

BINARY 扩展

请参阅 [RFC3516]

  • UNKNOWN-CTE,带有标记的 NO 响应,当服务器不知道如何解码 CTE(内容传输编码)时。datanil。请参阅 IMAP#fetch

UIDPLUS 扩展

请参阅 [RFC4315 §3]

SEARCHRES 扩展

请参阅 [RFC5182]

  • NOTSAVED,带有标记的 NO 响应,当搜索结果变量未保存时。datanil

RFC5530 响应代码

请参阅 [RFC5530],“IMAP 响应代码”,以了解以下响应代码的定义,它们都是人类可读的 ResponseText#text 的机器可读注释,并且它们自己的 datanil

  • UNAVAILABLE

  • AUTHENTICATIONFAILED

  • AUTHORIZATIONFAILED

  • EXPIRED

  • PRIVACYREQUIRED

  • CONTACTADMIN

  • NOPERM

  • INUSE

  • EXPUNGEISSUED

  • CORRUPTION

  • SERVERBUG

  • CLIENTBUG

  • CANNOT

  • LIMIT

  • OVERQUOTA

  • ALREADYEXISTS

  • NONEXISTENT

QRESYNC 扩展

请参阅 [RFC7162]

  • CLOSED,当通过选择或检查另一个邮箱而隐式关闭当前选择的邮箱时返回。datanil

IMAP4rev2 响应代码

请参阅 [RFC9051] §7.1,“服务器响应 - 状态响应”,了解 IMAP4rev2 响应代码的完整描述。IMAP4rev2 包括上面列出的所有响应代码(“UNSEEN”除外),并添加了以下内容

  • HASCHILDREN,带有标记的 NO 响应,当邮箱删除失败,因为服务器不允许删除具有子邮箱的邮箱时。datanil

CONDSTORE 扩展

请参阅 [RFC7162]

  • NOMODSEQ,当选择不支持 mod-sequence 的邮箱时。datanil。请参阅 IMAP#select

  • HIGHESTMODSEQdata 是一个整数,表示邮箱中所有消息的最高 mod-sequence 值。请参阅 IMAP#select

  • MODIFIEDdata 是一个 SequenceSet,表示自给定给 STOREUID STOREUNCHANGEDSINCE mod-sequence 以来已修改的消息。

OBJECTID 扩展

请参阅 [RFC8474]

  • MAILBOXIDdata 是一个字符串

公共实例方法

data → object 或 nil 单击以切换源代码

返回已解析的响应代码数据,例如:功能字符串数组、字符集字符串数组、永久标志列表、整数等。响应代码决定了响应代码数据可以采用的形式。

# File net-imap-0.5.4/lib/net/imap/response_data.rb, line 320
    
name → string 单击以切换源代码

返回响应代码名称,例如“ALERT”、“PERMANENTFLAGS”或“UIDVALIDITY”。

# File net-imap-0.5.4/lib/net/imap/response_data.rb, line 313