【发布时间】:2015-07-17 15:49:28
【问题描述】:
我有一个包含 5000 条消息的邮件帐户,旧的有 4 年。 我使用 Web 界面和 Thunderbird 登录该帐户。 我在 Web 界面中删除了一封非常旧的邮件。然后我在不重新登录的雷鸟上按刷新(获取邮件)。 Thunderbird 立即删除该消息。雷鸟怎么能这么快检测到被删除的消息? 我必须在java(java mail api)中实现so机制,我认为我必须获取所有邮件,并且必须将已经获取的邮件存储在本地,然后我必须逐个比较。 据我所知,消息 id 属性不安全,因此当我将一条消息移动到另一条消息时可以更改它,它们不安全。最好的方法是使用存储在标头中的消息 ID 或使用自定义缓存机制,如下所述:
Mailing with IMAP: How to detect that a message has been moved from one folder to another?
因此,我们如何能如此迅速地获知已删除或移动的消息? 以及如何检测雷鸟新电子邮件?它是否存储最后存储的消息 ID? 但是对于删除的旧消息或移动的消息,唯一的选择是将所有文件夹与本地存储进行比较,我错了吗?
我的想法,我会检查一下thunderbirds的调试模式,看看下层会发生什么。
【问题讨论】:
-
它将服务器上可用的 UIDS 与本地的 UIDS 进行比较,并删除不再存在的 UIDS,并使用 \Deleted 标志隐藏。
标签: email jakarta-mail imap thunderbird