Я использую imaplib для работы с imap в python, однако похоже, что у него нет средств для анализа деталей ответов IMAP. Например, запрос, как:Parsing IMAP-ответы в python
msgdata = connection.fetch(num, "(BODY.PEEK[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] UID)")
, где num
это номер сообщения, для одного почтового сервера может привести (например):
('OK', [('1234 (BODY[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] {123}', 'From: ...etc headers'), ' UID 3456)'])
и для другого:
('OK', [('1234 (UID 3456 BODY[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] {123}', 'From: ...etc headers'), ')'])
As вы видите, что данные сообщения различны, а UID - даже в другом элементе. Итак, вопрос в том, есть ли какая-то библиотека, которая позволит автоматически сортировать ее и абстрагировать детали того, что делает конкретный почтовый сервер?
К сожалению, учебник Doug's скользит по теме разбора более сложных ответов fetch(). Спасибо за ссылку на IMAPClient, я проверю ее. – StasM 2010-12-17 00:35:23