Email 如何使用IMAP唯一标识电子邮件?

Email 如何使用IMAP唯一标识电子邮件?,email,imap,Email,Imap,我试图通过使用IMAP从邮件服务器查询邮件来接收和处理邮件。我需要保证最多一次处理。因此,我需要能够检测到我已经处理过的邮件 IMAP唯一ID无法用于此目的,因为其有效性可能会更改。如果发生这种情况,我无法将已处理的UID与更改后看到的新UID关联起来 如何唯一地识别消息并实现最多一次处理? 事实上,像Outloook这样的邮件客户端是如何做到这一点的?如果有效性发生变化,他们必须能够将本地存储的邮件与新UID关联。实际上UID的有效性不会发生变化。通常只有在特殊情况下,或者如果它是同名文件夹的

我试图通过使用IMAP从邮件服务器查询邮件来接收和处理邮件。我需要保证最多一次处理。因此,我需要能够检测到我已经处理过的邮件

IMAP唯一ID无法用于此目的,因为其有效性可能会更改。如果发生这种情况,我无法将已处理的UID与更改后看到的新UID关联起来

如何唯一地识别消息并实现最多一次处理?


事实上,像Outloook这样的邮件客户端是如何做到这一点的?如果有效性发生变化,他们必须能够将本地存储的邮件与新UID关联。

实际上UID的有效性不会发生变化。通常只有在特殊情况下,或者如果它是同名文件夹的新版本,才会执行此操作。真正的客户端:如果UID有效性更改,他们会从头开始重新同步文件夹,删除其本地状态。您是否考虑过将处理过的邮件移动到另一个IMAP文件夹?[或设置自定义标志]非常有用的评论,谢谢。我可能会选择其中一种方法。我现在也在研究通过散列进行重复数据消除:实际上UID的有效性不会改变。通常只有在特殊情况下,或者如果它是同名文件夹的新版本,才会执行此操作。真正的客户端:如果UID有效性更改,他们会从头开始重新同步文件夹,删除其本地状态。您是否考虑过将处理过的邮件移动到另一个IMAP文件夹?[或设置自定义标志]非常有用的评论,谢谢。我可能会选择其中一种方法。我现在也在研究通过哈希进行重复数据消除: