Я хочу получить все сообщение с сервера IMAP4. В документах python, если найден этот бит кода, который работает:
>>> t, data = M.fetch('1', '(RFC822)')
>>> body = data[0][1]
Мне интересно, могу ли я всегда доверять тому, что данные [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?