如果我有IMAP FETCH,
12 UID FETCH 3 (BODY.PEEK[HEADER] BODY.PEEK[TEXT])
我回答
* 3 FETCH (UID 3 BODY[HEADER] {322}
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8;format=flowed
Content-Transfer-Encoding: 7bit
Date: Fri, 07 Aug 2015 16:36:44 -0400
From: myemail@email.email
To: myemail@email.email
Subject: subjecct
Message-ID: <eea78aff8bfdfgvdfgvdgcdg655d14a4a7@email.email>
X-Sender: myemail@email.email
User-Agent: Roundcube Webmail/0.9.5
BODY[TEXT] {14}
myemailstuff
)
全部是CRLF,322正确地表示第一个块的长度,从包含322的那行之后的CRLF到BODY[TEXT] {14}
之前的CRLF(注意BODY
之前的空格)
从那里,我添加一个空格,然后添加BODY[TEXT] {14}
等。这不起作用。我甚至无法在RFC 3501中找到单个规格,但却连续两个。有没有人知道这些规格的具体位置,或者知道它们的顶部?
此外,如果重要,这个错误直接来自iPhone,服务器是我自己的(Avuna中的嵌入式服务器)。
答案 0 :(得分:0)
一个文字取代了一个带引号的字符串或原子,并且应该以相同的方式在两边都有分隔符。那就是{322}\r\n[322 bytes]
应该被完全视为带引号的字符串,前面有空格,后面是空格或括号。
我没有看到您的示例存在任何明显问题,但是,您可能需要考虑在文字中的标题中添加额外的CRLF,这可能会使某些MIME解析器更快乐。