使用Javamail API的消息号

时间:2013-01-23 21:11:23

标签: email imap javamail

我想知道JavaMail API中的消息号是如何工作的。 它们总是按时间排序吗?

我要做的是避免在gmail文件夹上重新获取标头。 假设我有一个包含20,000条消息的文件夹,我今天处理这些消息。 明天,有100条新消息,我不想全部取消 再次20,000个标题。我可以问一下msg nums吗? 20,001 - 20,100? 我认为这可以在添加后续消息的正常情况下工作 到文件夹。但是用户手动插入内容的情况如何呢? 从较早的时间段进入使用像Thunderbird这样的客户端的文件夹?

[S]

1 个答案:

答案 0 :(得分:2)

这是控制消息号如何工作的服务器。基本上在所有情况下,消息编号都对应于邮件添加到邮箱的顺序。

例如,在您的收件箱中,这是消息接收的顺序。您的电子邮件客户端可能会按照发送顺序显示消息,这可能完全不同。

可能会从列表中删除邮件,但邮件永远不会在现有邮件之前插入。如果您正在寻找新消息,则必须处理删除现有消息的情况,并更改消息编号。

请参阅JavaMail UIDFolder接口以及它所基于的IMAP规范。如果你跟踪你看到的最后一个UID,你只需要查看UID大于那个的消息。还有更多细节,但这是一个开始。阅读文档,如果您有任何疑问,请告诉我。