IMAP UID的可靠性如何?

时间:2010-12-20 19:41:32

标签: imap web-crawler uid

我正在编写一个IMAP抓取工具,它是开源应用程序的一部分,对于增量抓取,我想使用消息UID来查明我是否已经看过某个特定消息。

现在我发现2007年的a post表示IMAP UID并不总是可靠的。更具体地说,如果设置了标志UIDNOTSTICKY,则不能假设UID始终相同。 所以我的问题是,我是否必须严肃对待UIDNOTSTICKY = true,或者IMAP服务器是否具有非粘性UID遗留物并且不再(广泛使用)?

1 个答案:

答案 0 :(得分:8)

如果在SELECT或EXAMINE期间返回UIDNOTSTICKY响应代码,您还会看到每次SELECT或EXAMINE邮箱时邮箱上的UIDVALIDITY值(文件夹的IMAP术语)都会更改。但是你必须检查UIDVALIDITY的变化,因为邮箱的UIDVALIDITY不能保证不可变,任何这样的更改都会使你的缓存UID无效。是的,UIDVALIDITY值通常不会改变。但是你的代码必须处理这个案例,这样你就可以覆盖UIDNOTSTICKY案例。