email - 使用 Javamail API 的邮件编号

标签 email imap jakarta-mail

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

我想做的是避免重新获取 gmail 文件夹上的 header 。 假设我有一个包含 20,000 条消息的文件夹,我今天要处理这些消息。 明天,有 100 条新消息,我不想全部获取 又是 20,000 个 header 。我可以只要求 msg nums 吗? 20,001 - 20,100? 我假设这在添加稍后消息的正常情况下会起作用 到文件夹。但是如果用户手动插入一些东西呢? 使用 Thunderbird 等客户端从较早的时间段导入文件夹?

[s]

最佳答案

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

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

消息可能会从列表中删除,但绝不会在现有消息之前插入消息。如果您要查找新消息,则必须处理现有消息被删除的情况,更改消息编号。

请参阅 JavaMail UIDFolder 接口(interface)及其所基于的 IMAP 规范。如果您跟踪您看到的最后一个 UID,您将只需要查看 UID 大于该 UID 的消息。还有很多细节,但这只是一个开始。阅读文档,如果您有任何问题,请告诉我。

关于email - 使用 Javamail API 的邮件编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14489455/

相关文章:

java - 带边界的 MimeMultipart 消息转储

java - 无法使用 JavaMail 读取邮件内容

email - GitLab:无法通过 SMTP 发送电子邮件

email - 后缀,将电子邮件中继到具有 X 端口的下一个服务器

email - 如何在mailutils中设置发件人姓名,同时保留发件人地址

PHP 相当于 IMAP 的 cURL "user-interface"

python - 通过 Python Gmail-API 在内容中发送带有双尖括号(打开-关闭)的电子邮件

php - 根据编码翻译 IMAP 正文

php - 如何确定通过 PHP IMAP 函数检索到的电子邮件的部件号?

java - 一条消息可以有多个发件人吗?