1

我正在使用GNU javamail来阅读 NNTP 消息:

public List<Message> getMessages(Newsgroup newsgroup) throws MessagingException   {
    LOG.fine("fetching.." + newsgroup);
    folder = root.getFolder(newsgroup.getNewsgroup());
    folder.open(Folder.READ_ONLY);
    List<Message> messages = Arrays.asList(folder.getMessages());
    LOG.fine("..fetched " + folder);
    return Collections.unmodifiableList(messages);
}

但是,我遇到了索引问题,因为我无法弄清楚如何只发送新消息或未读消息。

当然可以迭代文件夹中的消息,解析标题,并且只返回外部参照值高于某个阈值的消息。标题是这样的:

Xref: dur.bounceme.net gwene.com.economist:594

但是,对于非常大的文件夹,这样做有点麻烦。

我当然已经看到这不是一个未知的问题,而且我肯定是在重新发明轮子。不幸的是,在这种情况下,我的轮子甚至不是圆形的,因为我无法确定如何修剪(删除)NNTP 服务器上的消息(在这种情况下,Leafnode在本地主机上运行)。

在不迭代整个文件夹的情况下,如何获取超过某个阈值的消息?或者,我如何从文件夹中删除消息,如果它们被删除,leafnode 会删除这些消息吗?

它很简单:

message.setFlags(Flags.Flag.DELETED, true);???

作为替代方案,我正在尝试 GNU Mailman

4

0 回答 0