IMAP выборка части mime без получения всего сообщения - PullRequest
3 голосов
/ 14 января 2010

Мне нужна помощь в формулировании команды извлечения IMAP для извлечения только определенного вложения mime без извлечения всего тела или другого вложения. Учитывая следующую структуру тела

(BODYSTRUCTURE (("text" "html" ("charset" "utf-8") NIL NIL "base64" 568 8 NIL NIL NIL) "mixed" ("boundary" "===============0621936444==") NIL NIL))

как будет выглядеть команда извлечения для извлечения части text / html? Я прочитал Раздел 6.4.5 RFC3501 несколько раз, но до сих пор не понимаю. Также приветствуются любые ссылки на дополнительные примеры запросов на выборку для вложений mime.

Ответы [ 4 ]

6 голосов
/ 14 января 2010

С макушки головы это будет что-то вроде:

FETCH 88 BODY.PEEK[1]

, где 88 - 88-е сообщение, а 1 - часть тела.

3 голосов
/ 17 февраля 2010

Попробуйте это:

FETCH uid BODY.PEEK[1.2]
1 голос
/ 21 января 2014

UID FETCH uid_of_the_mail BODY[1.2] - первое встроенное вложение. Ну, для gmail, 1 для текста, 2-N для вложения. 1.1 для ТЕКСТА 1.2 следует для первого встроенного вложения, 1.N-1 следует для N-го встроенного вложения.

0 голосов
/ 22 января 2014

Прежде всего, вам нужно проанализировать отклик структуры тела, а затем найти каждую строку раздела детали. После того, как вы получили каждую строку раздела детали, вы можете получить необходимый номер детали.

Предположим, что вам нужно получить первую часть mime, а затем команда должна выглядеть следующим образом

. FETCH msgno (ТЕЛО [1.MIME])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...