是否有任何Java API来读取Outlook数据库中的Exchange数据库或已删除的邮件?

时间:2013-08-07 04:33:46

标签: java java-ee outlook javamail exchangewebservices

现在我正在创建一个必须在Outlook邮箱中检索已删除邮件的java应用程序,我尝试过JavaMail API,但似乎它只能检索mailBox中存在的邮件,所以有没有办法/ Java API来读取Exchange DB检索那些已删除的邮件?任何建议或想法都非常感谢。

1 个答案:

答案 0 :(得分:2)

微软发布了Java Api进行交换。

http://blogs.msdn.com/b/exchangedev/archive/2013/01/03/ews-java-api-1-2-get-started.aspx

通过此API,我们可以从任何文件夹中获取邮件,包括已删除的项目,清除等等。

示例代码:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
ExchangeCredentials credentials = new WebCredentials(userName, password);
service.setCredentials(credentials);
service.autodiscoverUrl(autoDiscoverUrl);
service.setTraceEnabled(true);

ItemView view = new ItemView(20);
FindItemsResults<Item> findResults;
do {
      findResults = service.findItems(WellKnownFolderName.RecoverableItemsDeletions, view);
      for (Item item : findResults.getItems()) {
        System.out.println(item);
      }
      view.setOffset(view.getOffset() + 20);
   } while (findResults.isMoreAvailable());

WellKnownFolderName 枚举包含所有文件夹。