0

I'm using EWS Java API(version 2.0) to fetch exchange emails in Java

I want to fetch all mails that are sent to this emails address ("rams@mydomain.com") from exchange box

Here is my sample code

 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);

I'm not getting any exception. I'm not getting any emails but actually emails are present in server.

Thanks

MrPiao
  • 688
  • 5
  • 19
Rams
  • 2,141
  • 5
  • 33
  • 59

1 Answers1

0

Have you tried looking at the Participants field with a query string?

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);
Tholle
  • 108,070
  • 19
  • 198
  • 189
  • I tried the way you suggested , it worked for first time , I'm able to fetch all sent items as per my search criteria. But the problem is it's not fetching latest sent items if I run the same query next time. It's returning items till the timestamp when I ran my query first time. – Rams Dec 11 '16 at 05:21