Насколько надежны UID IMAP?

Я пишу сканер IMAP, который является частью приложения с открытым исходным кодом, и для добавочного сканирования я хотел бы использовать идентификаторы сообщений, чтобы узнать, видел ли я уже конкретное сообщение или нет.

Теперь я нашел сообщение от 2007 года, в котором говорится UID IMAP не всегда надежны. В частности, если установлен флаг UIDNOTSTICKY, вы не можете предполагать, что идентификаторы UID всегда одинаковы. Итак, мой вопрос: должен ли я серьезно относиться к случаю UIDNOTSTICKY = true, или серверы IMAP с нелипкими UID являются устаревшими вещами и больше не используются (широко распространены)?


person python dude    schedule 20.12.2010    source источник


Ответы (1)


Если код ответа UIDNOTSTICKY возвращается во время SELECT или EXAMINE, вы также увидите, что значение UIDVALIDITY почтового ящика (термин IMAP для папки) изменяется каждый раз, когда вы выполняете SELECT или EXAMINE почтового ящика. Но вы все равно должны проверить изменение UIDVALIDITY, так как UIDVALIDITY почтового ящика не гарантируется неизменностью, и любое такое изменение делает недействительными ваши кэшированные UID. Да, значения UIDVALIDITY обычно не меняются. Но вашему коду придется иметь дело с этим случаем, и тем самым вы также охватите случай UIDNOTSTICKY.

person dkarp    schedule 30.12.2010