这是我的代码:
PropertySet itempropertyset = new PropertySet(BasePropertySet.FirstClassProperties);
itempropertyset.setRequestedBodyType(BodyType.Text);
ItemView itemview = new ItemView(100);
itemview.setPropertySet(itempropertyset);
SearchFilter srchFilter = new SearchFilter.IsGreaterThan(ItemSchema.DateTimeReceived, d.parse(date));
FindItemsResults<Item> results = service.findItems(folder.getId(),srchFilter,itemview)
for (Item item : results) {
ItemId itemId = item.getId();
Item itm = Item.bind(service, itemId,PropertySet.FirstClassProperties);
item.load(itempropertyset);
System.out.println("item.getBody():: "+item.getBody());
}
item.getBody()从邮件链中打印所有电子邮件邮件。我想只获取最新的一个电子邮件正文(顶级电子邮件正文)。
答案 0 :(得分:0)
EWS不会为你做这个,因为它的API唯一的工作就是返回body属性的实际内容。因为你的要求有很多差异(例如,如果有人做内联响应会发生什么),你需要考虑使用另一个库来扫描和检测那种类型的东西,例如http://blog.mailgun.com/open-sourcing-our-email-signature-parsing-library/,但从技术角度看它的基础非常困难。
答案 1 :(得分:0)
通过service.findItems
返回所有您感兴趣的电子邮件,并按getDateTimeReceived()
的顺序排序,并获得列表中的第一个EmailMessage
对象?