【问题标题】:Ews Java API Getting Sent emailsEws Java API 正在发送电子邮件
【发布时间】:2015-06-03 13:47:31
【问题描述】:

我正在使用 EWS Java API(2.0 版)在 Java 中获取交换电子邮件

我想从交换箱获取发送到此电子邮件地址(“rams@mydomain.com”)的所有邮件

这是我的示例代码

 String email = "rams@mydomain.com"
 ItemView itemView = new ItemView(1000);


 SearchFilter.SearchFilterCollection searchFilterCollection1 = new SearchFilter.SearchFilterCollection(
                    LogicalOperator.Or
                    );
            SearchFilter searchFilter1 = new SearchFilter.ContainsSubstring(EmailMessageSchema.DisplayCc, email);
            SearchFilter searchFilter2 = new SearchFilter.ContainsSubstring(EmailMessageSchema.DisplayTo, email);
            searchFilterCollection1.add(searchFilter1);
            searchFilterCollection1.add(searchFilter2);
            FindItemsResults<Item> items = exService.findItems(WellKnownFolderName.SentItems,searchFilterCollection1,itemView);

我没有遇到任何异常。我没有收到任何电子邮件,但实际上电子邮件存在于服务器中。

谢谢

【问题讨论】:

    标签: office365 exchangewebservices ewsjavaapi


    【解决方案1】:

    您是否尝试过使用查询字符串查看参与者字段?

    String email = "rams@mydomain.com";
    ItemView itemView = new ItemView(1000);
    
    var queryString = String.Format("(From:=%1$s OR Participants:=%1$s)", email);
    
    FindItemsResults<Item> items = exService.findItems(WellKnownFolderName.SentItems, 
                                                      queryString, itemView);
    

    【讨论】:

    • 我尝试了您建议的方式,它第一次工作,我能够根据我的搜索条件获取所有已发送的项目。但问题是,如果我下次运行相同的查询,它不会获取最新发送的项目。它会返回项目,直到我第一次运行查询时的时间戳。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多