Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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

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
Java 如何使用GNU NNTP标记已删除的邮件_Java_Email_Jakarta Mail_Gnu_Nntp - Fatal编程技术网

Java 如何使用GNU NNTP标记已删除的邮件

Java 如何使用GNU NNTP标记已删除的邮件,java,email,jakarta-mail,gnu,nntp,Java,Email,Jakarta Mail,Gnu,Nntp,我正在使用阅读NNTP消息: public List<Message> getMessages(Newsgroup newsgroup) throws MessagingException { LOG.fine("fetching.." + newsgroup); folder = root.getFolder(newsgroup.getNewsgroup()); folder.open(Folder.READ_ONLY); List<Mes

我正在使用阅读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);
}
public List getMessages(新闻组新闻组)抛出消息异常{
LOG.fine(“抓取..”+新闻组);
folder=root.getFolder(newsgroup.getNewsgroup());
文件夹。打开(文件夹。只读);
List messages=Arrays.asList(folder.getMessages());
LOG.fine(“…获取”+文件夹);
返回集合。不可修改列表(消息);
}
然而,我有一个索引问题,因为我不知道如何只发送新的或未读的消息

当然,可以迭代文件夹中的消息,解析标题,只返回外部参照值高于某个阈值的消息。标题如下所示:

Xref:dur.bounceme.net gwene.com.经济学家:594

然而,对于非常大的文件夹来说,这样做是一个非常困难的问题

我肯定看到这不是一个未知的问题,我肯定是在重新发明轮子。不幸的是,在本例中,我的轮子甚至不圆,因为我无法确定如何修剪(删除)NNTP服务器上的消息(在本例中,是在localhost上运行的)

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

简单到:

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


另一种选择是。

您是否将NNTP与IMAP混为一谈?通常不允许客户端从NNTP服务器删除邮件。我的目的不是删除邮件,而是将邮件标记为已读,以消除重复下载。可能不是
标志。已删除
,而是
标志。已看到
?如何避免重复?因为NNTP服务器根本不关心客户端状态,所以需要跟踪客户端中的读取状态。