IMAPMessage.getUID() 和 Message-ID header 有什么区别?
What is the difference between IMAPMessage.getUID() and Message-ID header?
从java邮件的角度来看,这两者有什么区别?我可以看到特定消息的 2 个值不相同。那么我应该如何看待 IMAP 邮件的唯一 ID?
如果我需要从与唯一 ID 相对应的 IMAP 服务器获取消息,我应该使用吗?
MessageIDTerm
或
IMAPFolder.getMessageByUID()
UID
是IMAP folder
中一封邮件的唯一标识号。文件夹中的每封邮件都分配了一个 uid,可以说是邮件文件夹维护的索引。而 message-id
是电子邮件的 header
部分。
简单来说,
UID
是一个唯一编号,在一个文件夹中不能重复。如果我在一个文件夹中复制同一封电子邮件两次,每封邮件都会有相同的邮件头和相同的邮件 ID,但会有不同的 UID。
其他主要区别是,
- UID 由 imap 服务器分配
- MessageId 由电子邮件设置
客户.
所以最好依靠 UID 来提取电子邮件。
参考:RFC - UID
从java邮件的角度来看,这两者有什么区别?我可以看到特定消息的 2 个值不相同。那么我应该如何看待 IMAP 邮件的唯一 ID?
如果我需要从与唯一 ID 相对应的 IMAP 服务器获取消息,我应该使用吗?
MessageIDTerm
或
IMAPFolder.getMessageByUID()
UID
是IMAP folder
中一封邮件的唯一标识号。文件夹中的每封邮件都分配了一个 uid,可以说是邮件文件夹维护的索引。而 message-id
是电子邮件的 header
部分。
简单来说,
UID
是一个唯一编号,在一个文件夹中不能重复。如果我在一个文件夹中复制同一封电子邮件两次,每封邮件都会有相同的邮件头和相同的邮件 ID,但会有不同的 UID。
其他主要区别是,
- UID 由 imap 服务器分配
- MessageId 由电子邮件设置 客户.
所以最好依靠 UID 来提取电子邮件。
参考:RFC - UID