В директории Х имею последнее полученное письмо с UID 100. Пытаясь получить свежую почту отправляю такой search-запрос:
uids = imap.uid('SEARCH', 'UID 101:*')
uids = imap.search(None, 'UID 101:*')
Сколько не гуглил на эту тему, везде пишут одно - возьми последний UID+1 как N и сделай “SEARCH UID N:*”. Однако действительность иная, и не на домашнем тест-сервере, а например на imap.yandex.ru.
Кто-нибудь сталкивался с таким? Интересно раскопать в чём может быть причина.
Пока что для получения свежей почты приходится каждый раз сравнивать список имеющихся UIDов в директории на сервере, и список UIDов уже полученных писем. Оно, конечно, не страшно даже если с сервера каждый раз тянется список из нескольких тысяч UIDов, однако выборка просто всех писем старше N имхо более красивое решение.