在javaMail中读取所有未读邮件/最近的邮件
提取收件箱时出现异常。我使用mail.jar和javamail_1.4.1.jar。我只想得到未读邮件的列表。但是,我在inbox.fetchmessages,fp中收到一个空指针异常;代码片段>>>在javaMail中读取所有未读邮件/最近的邮件,java,jakarta-mail,imap,Java,Jakarta Mail,Imap,提取收件箱时出现异常。我使用mail.jar和javamail_1.4.1.jar。我只想得到未读邮件的列表。但是,我在inbox.fetchmessages,fp中收到一个空指针异常;代码片段>>> inbox = store.getFolder("INBOX"); inbox.open(Folder.READ_WRITE); int unreadMessageCount = inbox.getUnreadMessageCount(); Mess
inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_WRITE);
int unreadMessageCount = inbox.getUnreadMessageCount();
Message messages[]
= inbox.search(new FlagTerm(new Flags(Flags.Flag.SEEN),false));
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
//fp.add(FetchProfile.Item.FLAGS);
fp.add(FetchProfile.Item.CONTENT_INFO);
//fp.add("X- Mailer");
inbox.fetch(messages,fp)>>>> Causes NullPointerException
所有的建议都会非常有用
提前感谢您可能需要升级到,尽管我认为这与您的问题无关 您确定收件箱中有未看到的邮件吗 你没有用,是吗
请发布显示搜索结果的日志。您可以添加stacktrace吗?你确定messages[]不是空的吗?@Jens根据这个,FetchProfile不能与Folder.search一起使用,所以我删除了它,只使用下面提到的。。。。。。已看到的标志=新标志Flags.Flag.seen;FlagTerm unseenFlagTerm=新FlagTerm已看到,false;messages[]=inbox.searchunseenFlagTerm;没有任何FetchProfile,但消息[]仍然为空,不知道我哪里出错。已解决!!!!显然,我的邮件服务器已经有2个未读的MSSG,这在我的邮件客户端中没有明确显示,而且我也无法找到额外的2个MSSG所在的位置。因此,我首先将收件箱中的所有邮件标记为READ msgs[I].setFlagFlag.DELETED,true;,这篇文章很有魅力。显然,这是一个邮件帐户问题。谢谢Jens和Bill Shannon。