我正在编写一个IMAP爬网,该爬网是一个开源应用程序的一部分,对于增量爬网,我想使用消息UID来找出我是否已经看过特定的消息。

现在我找到了 一个帖子 从2007年开始,IMAP UID并不总是可靠的。更具体地说,如果设置了flag uidnotsticky,则不能假设UID始终相同。因此,我的问题是,我是否必须认真对待uidnotsticky = true,还是使用非粘性UID遗留物的IMAP服务器,而不再(广泛)使用?

有帮助吗?

解决方案

如果在选择或检查期间返回了UIDNOTSTICKY响应代码,则您还会发现每次选择或检查邮箱时,邮箱上的uidvality值(文件夹的imap项)会更改。但是,由于无法保证邮箱的UIDVALIDIES不可变动,并且任何此类更改都使您的缓存UID无效,因此您必须检查UIDVALIDIDE的更改。是的,uidvality值 一般来说 不要改变。但是您的代码将不得不处理该案例,通过这样做,您还将介绍UIDNOTSTICKY案例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top