imap4.1:字符串文字。命令行上可以有多个文字吗?可以为同一命令行提供更多参数吗?

imap4.1: string literals. can be more than one literal on command line? can be more arguments for same command line ater string literal?

IMAP4.1 字符串文字是那些以'{size_number}\r\n'为前缀的文字。

我正在编写 IMAP 服务器实现。需要了解有关 IMAP 字符串文字的更多信息。

例如:有一个SEARCH imap命令,它可以有多个字符串参数。理论上这些字符串可以是文字形式——对吧?又怎样?在 rfc3501 的一个命令行中找不到包含多个字符串文字的示例(或者可能是我读得很糟糕)。

rfc 中的字符串描述: https://www.rfc-editor.org/rfc/rfc3501#section-4.3

关于 AUTHENTICATE 命令的命令延续 https://www.rfc-editor.org/rfc/rfc3501#section-7.5 但这似乎不是我需要的。

其他问题:

  1. 是否有用于请求更多数据的标准服务器文本? - “+ Ready for additional command text”可以吗?

是的,一个命令中可以出现多个文字:

UID SEARCH SUBJECT {10}\r\n
[10 bytes] FROM {8}\r\n
[8 bytes]\r\n

每个文字都有自己的 {n}\r\n,但命令只是在文字之后恢复,就好像它是一个字符串(通常需要 space)。

在客户端中,您可以通过在获取命令中请求多个主体来查看此示例:

UID FETCH 1 (BODY[1.1] BODY[1.2])

响应将有两个文字(假设您的正文有 1.1 部分和 1.2 部分)。