Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用IMAP唯一地标识Java邮件消息?_Java_Email_Jakarta Mail - Fatal编程技术网

如何使用IMAP唯一地标识Java邮件消息?

如何使用IMAP唯一地标识Java邮件消息?,java,email,jakarta-mail,Java,Email,Jakarta Mail,Java Mail中的IMAP消息由它的相对位置号(从1开始)标识 参考, () 消息编号是一个临时详细信息 是否有一种方法可以永久唯一地标识通过IMAP访问邮箱的邮件/消息,该邮件/消息使用Java mail API跨会话运行?查看UIDFolder接口,该接口公开了IMAP UID功能。您可以使用以下代码作为示例来获取邮件的唯一标识符 Folder folder = imapStore.getFolder("INBOX"); // get reference for inbox folder

Java Mail中的IMAP消息由它的相对位置号(从1开始)标识

参考, ()

消息编号是一个临时详细信息


是否有一种方法可以永久唯一地标识通过IMAP访问邮箱的邮件/消息,该邮件/消息使用Java mail API跨会话运行?

查看UIDFolder接口,该接口公开了IMAP UID功能。

您可以使用以下代码作为示例来获取邮件的唯一标识符

Folder folder = imapStore.getFolder("INBOX"); // get reference for inbox folder
UIDFolder uf = (UIDFolder)folder; // cast folder to UIDFolder interface
folder.open(Folder.READ_ONLY); // open folder
Message messages[] = folder.getMessages(); // get all messages
Long messageId = uf.getUID(messages[0]); // get message Id of first message in the inbox

添加这个,因为我认为这会有所帮助

如果您想循环消息并获取uid,那么上面的代码并不能获得性能,因为您必须循环并获取uid,下面是获取消息的简单方法

Folder emailFolder = store.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);
UIDFolder uf = (UIDFolder)emailFolder;
Message messages[] = emailFolder.getMessages();
            
FetchProfile profile = new FetchProfile();
//profile.add(FetchProfile.Item.ENVELOPE);
profile.add(FetchProfile.Item.FLAGS);
//profile.add(FetchProfile.Item.CONTENT_INFO);
profile.add(UIDFolder.FetchProfileItem.UID);
emailFolder.fetch(messages, profile);
这将获取带有uid的消息


在此之后,如果循环并执行uf.getUID(messages[i]);您将获得uid,但这次会更快。

如何“获取”该uid接口的具体实现?代码示例将使您的答案完整且可接受:)UIDFolder uf=(UIDFolder)文件夹;IMAP提供程序返回的所有文件夹对象都实现UIDFolder interface.No。有关详细信息,请阅读IMAP RFC。您还需要考虑UID有效性。UID不在消息标题中。UID是由IMAP服务器管理的元数据。