我有一个邮件帐户,里面有5000封邮件,旧的邮件已经4年了。
我使用网页界面和Thunderbird登录该帐户。
我在网页界面中删除了一封非常旧的邮件。然后我在没有重新登录的情况下在Thunderbird上按下刷新(获取邮件)。
Thunderbird立即删除了该邮件。它是如何如此快速地检测到已删除的邮件的呢?
我必须在Java(Java Mail API)中实现这种机制,我认为我必须获取所有邮件,并将已获取的邮件存储在本地,然后逐个进行比较。
据我所知,消息ID属性不安全,因此当我将一条消息移动到另一个位置时,它可能会被更改,它们不是安全的。最好的方法是使用存储在标题中的消息ID或使用自定义缓存机制,如Mailing with IMAP: How to detect that a message has been moved from one folder to another?所述。
作为结果,我们如何能够快速了解已删除或移动的消息?Thunderbird如何检测新邮件?它是否存储上一条已存储的消息ID?但是对于已删除的旧消息或移动的消息,唯一的选择是将所有文件夹与本地存储进行比较,我错了吗?
我的想法是,我将检查Thunderbird的调试模式,并查看底层发生了什么。
作为结果,我们如何能够快速了解已删除或移动的消息?Thunderbird如何检测新邮件?它是否存储上一条已存储的消息ID?但是对于已删除的旧消息或移动的消息,唯一的选择是将所有文件夹与本地存储进行比较,我错了吗?
我的想法是,我将检查Thunderbird的调试模式,并查看底层发生了什么。