Мне нужно загрузить вложение с сервера imap в dart.
Это то, что я сделал:
- правильно скачал список сообщений с помощью команды
(UID BODY.PEEK[HEADER] FLAGS)
; - правильно загрузил отдельное сообщение с помощью команды
(UID BODY[] BODYSTRUCTURE ENVELOPE FLAGS)
Теперь мне нужно загрузить одно вложение сообщения, и я пытаюсь использовать обе команды (BODY[1.3.1.2])
и (BODY.PEEK[1.3.1.2])
(кстати, в чем разница между этими двумя командами? Я не знаю).
Я использую библиотеку для получения сообщений, и я почти уверен, что путь к телу правильный.
Но когда я запускаю обе команды, я не получил сообщения. Это структура, которую я получаю от сервера (структура является собственностью библиотеки):
msg = id: [592]\n
headers = null
_headerRaw = null
_isParsed = false
bodyRaw = null
text = null
parts = null
_contentTypeHeader = null
_contentDispositionHeader = null
multiPartBoundary = null
rawLines = null
sequenceId = 592
uid = null
modSequence = null
flags = null
internalDate = null
size = null
_from = null
_sender = null
_replyTo = null
_to = null
_cc = null
_bcc = null
body = null
envelope = null
UPDATE Это ответ IMAP. Пытался отформатировать.
BODYSTRUCTURE
(
(
(text, plain, (charset, iso-8859-1), NIL, NIL, quoted-printable, 339, 8, NIL, (inline, NIL), NIL, NIL),
(application, xml, (name, daticert.xml), NIL, NIL, base64, 1072, NIL, (inline, (filename, daticert.xml)), NIL, NIL),
(message, rfc822, (name, postacert.eml), NIL, NIL, 7bit, 46914,
(
Fri, 31 Jul 2020 14:19:22 +0200, test message with pdf,
(
(Team SRL, NIL, team, pec.net)
),
(
(Team SRL, NIL, team, pec.net)
),
(
(Team SRL, NIL, team, pec.net)
),
(
(NIL, NIL, app.test1, test.example.com)
),
NIL, NIL, NIL, <string.20200731141923.20215.06.1.15@pec-example.com>
),
(
(
(text, plain, (charset, iso-8859-15, format, flowed), NIL, NIL, quoted-printable, 799, 22, NIL, NIL, NIL, NIL),
(
(text, html, (charset, iso-8859-15), NIL, NIL, quoted-printable, 1708, 40, NIL, NIL, NIL, NIL),
(image, png, (name, logo team_300x87.png), <part1.1F93CB4D.4CD8B980@pec.example>, NIL, base64, 8632, NIL, (inline, (filename, logo team_300x87.png)), NIL, NIL),
related,
(boundary, ------------F1A74D7D44BD84106B4E0569),
NIL, NIL, NIL
),
alternative,
(boundary, ------------6D98B2FDB8B24026063A27F9),
NIL, NIL, NIL
),
(application, pdf, (name, MyPdf.pdf), NIL, NIL, base64, 33754, NIL, (attachment, (filename, MyPdf.pdf)), NIL, NIL),
mixed,
(boundary, ------------A5B0A8B4F69F8BD959B758D0),
NIL, (it-IT), NIL
),
810, NIL, (inline, (filename, postacert.eml)), NIL, NIL
),
mixed,
(boundary, ----------=_1596197964-20215-18),
NIL, NIL, NIL
),
(application, pkcs7-signature, (name, smime.p7s), NIL, NIL, base64, 9454, NIL, (attachment, (filename, smime.p7s)), NIL, NIL),
signed,
(protocol, application/pkcs7-signature, micalg, sha256, boundary, ----------=_1596197964-20215-19),
NIL, NIL, NIL
)
Мне нужен MyPdf.pdf