Я использую imaplib2 библиотеку для поиска последних 10 сообщений с такой командой:Как получить последние 10 сообщений с сервера IMAP?
imap_client.search(None, '{}:{}'.format(last_uid, last_uid - 9))
Но чтобы получить last_uid
мне нужно EXEC каждой команды времени, как это:
imap_client.select("INBOX", readonly=True)
получить последний UID.
Являются ли какие-либо способы:
- получить последний UID без
select()
команды выборки 10 последних сообщений - без последнего UID. Возможно, существуют такие критерии поиска, как «LAST» или «-10:»?
Я не могу выполнить команду вроде этого client.search(None, 'ALL')
, так как сервер IMAP имеет более 50 тыс. Сообщений.
Возможный дубликат [Получение последних сообщений электронной почты с использованием IMAP и Python] (http://stackoverflow.com/questions/5632713/getting-n-most-recent-emails-using-imap-and-python) – Joe
@ Джо, это не дубликат. Я не могу выполнить критерии «ВСЕ». Спасибо за этот момент, теперь отредактировал вопрос. – p2mbot
@Joe: если бы было только одно значение «последнего», это было бы дубликат. * sigh * – arnt