JavaMail "UID" 真的独一无二吗?

JavaMail "UID" really unique?

我最近一直在使用 javamail。现在,我正在尝试将所有邮件存储在一个文件中。对于这样的事情,需要一个唯一的 ID,所以我假设 UID 最适合这里。但是,我注意到一些奇怪的事情:"Inbox" 文件夹中主题为 "Hello" 的邮件的 UID 为 10。如果我从 "All Messages" 文件夹中提取相同的邮件,我会得到相同的消息(因为我在 "All Messages")具有相同的内容,但具有不同的 UID。 这实际上并不是什么大问题,但是,来自不同文件夹的两封完全不同的邮件是否可能具有相同的 UID?在这种情况下,我将不得不考虑我存储邮件的方式。

提前致谢。

UID 不是 JavaMail UID,它们是 IMAP UID,由 IMAP RFC.

定义

每个文件夹的 UID 都是唯一的,基于文件夹的 UIDVALIDITY 值。文件夹本身没有唯一 ID。

根据您的需要,您可以考虑对消息使用 Message-ID,但请注意,虽然它非常非常可能是唯一的,但不能保证它是唯一的,也不能保证它存在于每条消息中。