Я хочу получить сообщение целиком с сервера IMAP4.
В документации по Python, если найден этот бит кода, который работает:
>>> t, data = M.fetch('1', '(RFC822)')
>>> body = data[0][1]
Мне интересно, могу ли я всегда доверять, что data [0] [1] возвращает тело сообщения. Когда я запускаю 'RFC822.SIZE', у меня есть просто строка вместо кортежа.
Я пролистал rfc1730, но не смог выяснить правильную структуру ответа для «RFC822». Также сложно определить структуру результатов выборки из документации imaplib.
Вот что я получаю при получении RFC822
:
('OK', [('1 (RFC822 {858569}', 'body of the message', ')')])
Но когда я получаю RFC822.SIZE
Я получаю:
('OK', ['1 (RFC822.SIZE 847403)'])
Как правильно обрабатывать список данных [0]?
Могу ли я верить, что когда это список кортежей, кортежи состоят ровно из 3 частей, а вторая часть является полезной нагрузкой?
Может быть, вы знаете лучшую библиотеку для imap4?