是否有任何Java API用于读取outlook邮箱中的Exchange数据库或已删除邮件?

是否有任何Java API用于读取outlook邮箱中的Exchange数据库或已删除邮件?,java,jakarta-ee,outlook,jakarta-mail,exchangewebservices,Java,Jakarta Ee,Outlook,Jakarta Mail,Exchangewebservices,现在我正在创建一个java应用程序,它必须在outlook邮箱中检索已删除的电子邮件,我尝试了JavaMail API,但它似乎只能检索邮箱中存在的邮件,那么有没有任何方法/java API读取Exchange DB来检索已删除的邮件呢?非常感谢您的任何建议或想法。Microsoft为exchange发布了Java Api 通过这个API,我们可以从任何文件夹获取邮件,包括删除的邮件、清除等 示例代码: ExchangeService service = new ExchangeService

现在我正在创建一个java应用程序,它必须在outlook邮箱中检索已删除的电子邮件,我尝试了JavaMail API,但它似乎只能检索邮箱中存在的邮件,那么有没有任何方法/java API读取Exchange DB来检索已删除的邮件呢?非常感谢您的任何建议或想法。

Microsoft为exchange发布了Java Api

通过这个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());
ExchangeService服务=新的ExchangeService(ExchangeVersion.Exchange2007\u SP1);
ExchangeCredentials凭据=新的WebCredentials(用户名、密码);
服务。设置凭据(凭据);
服务.autodiscoverUrl(autodiscoverUrl);
service.setTraceeEnabled(true);
ItemView视图=新的ItemView(20);
FindItemsResults findResults;
做{
findResults=service.findItems(WellKnownFolderName.RecoverableItemsDeletes,视图);
对于(项:findResults.getItems()){
系统输出打印项次(项);
}
view.setOffset(view.getOffset()+20);
}while(findResults.isMoreAvailable());

WellKnownFolderNameenum包含所有文件夹。

您想将它们从回收箱中还原出来,还是完全删除?您有什么想法吗?谢谢您的关注。@user2659197:您应该与管理员联系。可能存在备份副本/存档副本。在某些情况下,法律要求将所有邮件保存一段时间。您可能会问,这是在超级用户/服务器故障站点非常感谢,它对我来说很好。但为什么我无法使用WellKnownFolderName.RecoverableItemsPurges获取任何记录,因为我已在OutLook中清除了一些邮件?如果启用诉讼保留或就地保留,则只有Purges文件夹包含邮件。否则,exchange将删除项目,而不会移动到清除文件夹。如果您认为这是答案,请将其标记为答案。非常感谢!,还有一个问题,如果邮件被完全删除,它们是否存档到exchange server的文件夹中?如何找到它们?文件夹不可见。仅使用power shell,我们可以查看计数和详细信息。没有用户界面。谢谢,你的意思是我们不能通过API访问那个文件夹,对吗?对于已删除的邮件,我们只能访问“删除”或“清除”文件夹?