首页 > 解决方案 > 在 EWS 存储的 Javamail 中,用于检查 Outlook 邮箱中未读邮件的 FlagTerm 没有给出正确的结果

问题描述

我正在尝试使用 Javamail for EWS 连接到我的 Outlook 邮箱,并从我的 Outlook 邮箱中获取未读电子邮件的详细信息。它正在连接到邮箱并正确提供邮件总数。我使用 flagterm 来检查未见过的电子邮件,并使用此标志进行文件夹搜索。但是,尽管邮箱中存在未见邮件,但我的未见邮件计数始终返回 0。请在下面找到我的代码片段:

    Properties properties = new Properties()
    properties.setProperty("org.sourceforge.net.javamail4ews.util.Util.EnableServiceTrace", "true");
    Session session = Session.getInstance(properties);
    session.setDebug(true);

    Store store = session.getStore("ewsstore");

    store.connect(
                    "https://outlook.office365.com/EWS/Exchange.asmx",
                    "xyz@hotmail.com",
                    "Password");

    Folder folder = store.getDefaultFolder();
    folder.open(Folder.READ_ONLY);

    Flags seen = new Flags(Flags.Flag.SEEN);
    FlagTerm unseenFlagTerm = new FlagTerm(seen, false); //When flag set true,its giving total count
    Message[] messagesunread = folder.search(unseenFlagTerm);

    System.out.println(messagesunread.length);

标签: jakarta-mailexchangewebservices

解决方案


推荐阅读