gpt4 book ai didi

java - 使用 JavaMail 如何进行搜索并获取带有我可以引用的 UID 的消息数组?

转载 作者:行者123 更新时间:2023-11-30 07:14:07 38 4
gpt4 key购买 nike

所以我想弄清楚如何获取带有 UID 的消息

IMAPStore store = (IMAPStore) session.getStore("imaps");
store.connect();
IMAPFolder folder = (IMAPFolder) store.getFolder(FOLDER_NAME);
folder.open(Folder.READ_ONLY);

然后我要搜索该文件夹:

Message unreadMessages[] = 
folder.search(new FlagTerm( new Flags(Flags.Flag.SEEN), false));

但是数组中的消息返回时没有 UID,那么如果没有 ID 来引用它们,我如何稍后将它们拉出来进行处理呢?

最佳答案

我假设您正在谈论 IMAP UID 并且您知道 IMAP UID 的工作原理。被删除的答案很好地解释了这一点。 Folder.search 为您提供了一堆 Message 对象。使用 UIDFolder.getUID 方法,您可以迭代每个 Message 对象并获取其相应的 UID。使用Folder.fetch方法,您可以使用单个IMAP命令预取这些UID,以便在本地进行每条消息的迭代以获取其UID。如果保存 UID,则稍后可以使用 UIDFolder 方法取回相应的 Message 对象。不要忘记检查 UIDVALIDITY。

关于java - 使用 JavaMail 如何进行搜索并获取带有我可以引用的 UID 的消息数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38714841/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com