У меня есть рабочий код, который подключается к Microsoft Outlook и получает почту на основе некоторых фильтров. Он работает нормально с чтением прямой почтовой рассылки, но не может выбрать ту же почту, если она перенаправлена. Любая помощь приветствуется.
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);