Я пытаюсь проанализировать ответ, возвращенный IMAP, который содержит содержимое электронного письма.Как определить начало и конец сообщения, возвращенного из ответа, полученного через IMAP?
Ниже приведены 2 примера ответов, когда я получаю сообщение по IMAP:
. 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, как мне следует интерпретировать ответ и получить содержимое правильно?