【发布时间】:2011-12-12 12:12:27
【问题描述】:
我正在尝试解析 IMAP 返回的包含电子邮件内容的响应。如何确定从通过 IMAP 检索的响应返回的消息的开始和结束?
以下是我通过 IMAP 检索电子邮件时的 2 个响应示例:
. fetch 3728 body.peek[1]
* 3728 FETCH (BODY[1] {45}
Hello,
This is test message 1.
:(
:)
)
* 3732 FETCH (FLAGS (\Seen \Recent))
* 3733 FETCH (FLAGS (\Seen \Recent))
. OK FETCH completed.
以及第二次检索:
. fetch 3729 body.peek[1]
* 3729 FETCH (BODY[1] {42}
Hello,
This is test message 2. :)
)
The above bracket is part of the message's content.
)
. OK FETCH completed.
首先,当新电子邮件进入帐户时,两次检索有时会给出不同的结局。其次,消息的结尾似乎带有一个括号和一个. OK FETCH Completed 响应。但是如果内容也包含括号会发生什么?然后我可能会读错括号而永远得不到完整的内容。
这样,在解析来自 IMAP 的响应时,我应该如何解释响应并正确获取内容?
【问题讨论】: