IMAP UID的可靠性如何?

pyt*_*ude 4 imap web-crawler uid

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

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

dka*_*arp 8

如果在SELECT或EXAMINE期间返回UIDNOTSTICKY响应代码,您还将看到每次SELECT或EXAMINE邮箱时邮箱上的UIDVALIDITY值(文件夹的IMAP术语)都会更改.但是你无论如何都要检查在UIDVALIDITY一个变化,因为邮箱的UIDVALIDITY不能保证一成不变的,任何这样的更改将使您的缓存的UID.是的,UIDVALIDITY值通常不会改变.但是你的代码将不得不处理这种情况,通过这样做,你也将覆盖UIDNOTSTICKY案例.