I have a working code that connects to Microsoft outlook and fetches Mail based on some filters. It is working fine with reading the direct mail but not able to pick the same mail if forwarded. Any Help is appreciated.
List<SearchFilter> searchFilterCollection = new ArrayList<>();
searchFilterCollection.add(new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.DateTimeReceived,localDate));
// flag to pick only email which contains attachments
searchFilterCollection.add(new SearchFilter.IsEqualTo(ItemSchema.HasAttachments, Boolean.TRUE));
List<MetaInfoDTO> filterList = channel.getFilters();
// for each channel
log.info("Email from: {}", definedChannelFilter.getFieldData());
EmailAddress manager = new EmailAddress("abcd@outlook.com");
SearchFilter.IsEqualTo fromManagerFilter = new SearchFilter.IsEqualTo(EmailMessageSchema.Sender, manager);
searchFilterCollection.add(fromManagerFilter);
log.info("Email Subject: {}", definedChannelFilter.getFieldData());
searchFilterCollection.add(new SearchFilter.ContainsSubstring(ItemSchema.Subject,"Subject ASDF"));
log.info("Email Body Content: {}", definedChannelFilter.getFieldData());
searchFilterCollection.add(new SearchFilter.ContainsSubstring(ItemSchema.Body,"Body Content if any"));
return new SearchFilter.SearchFilterCollection(LogicalOperator.And, searchFilterCollection);