【问题标题】:Is there any Java API to read Exchange Database or deleted mails in outlook mailbox?是否有任何 Java API 可以读取 Exchange 数据库或 Outlook 邮箱中已删除的邮件?
【发布时间】:2013-08-07 04:33:46
【问题描述】:

现在我正在创建一个 Java 应用程序,它必须在 Outlook 邮箱中检索已删除的电子邮件,我尝试了 JavaMail API,但似乎它只能检索邮箱中存在的邮件,所以有什么方法/Java API 可以读取 Exchange DB找回那些被删除的邮件?非常感谢任何建议或想法。

【问题讨论】:

  • 您要将它们从回收站中恢复,还是完全删除?
  • 你有什么想法吗?感谢您的关注。
  • @user2659197 :您应该联系管理员。可能有备份副本/存档副本。在某些情况下,法律要求将所有邮件保存相当长的一段时间。您可能会问这是在超级用户/服务器故障站点中

标签: java jakarta-ee outlook jakarta-mail exchangewebservices


【解决方案1】:

Microsoft 发布了一个用于交换的 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 枚举包含所有文件夹。

【讨论】:

  • 非常感谢,它对我来说很好用。但是为什么我无法使用 WellKnownFolderName.RecoverableItemsPurges 获取任何记录,因为我在 OutLook 中清除了一些邮件?
  • 如果您启用诉讼保留或就地保留,则只有清除文件夹包含邮件。否则交换将删除项目,而不是移动到清除文件夹。如果您认为这是答案,请将其标记为答案。
  • 非常感谢!,还有一个问题,如果邮件被完全删除,它们是否归档到交换服务器的文件夹中?如何找到它们?
  • 该文件夹不可见。仅使用 power shell 我们可以查看计数和详细信息。没有用户界面。
  • 谢谢,您的意思是我们无法通过 API 访问该文件夹,对吧?对于已删除的邮件,我们只能在Deletions 或Purges 文件夹中访问?
猜你喜欢
  • 2012-03-21
  • 2012-09-27
  • 2010-09-07
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
  • 1970-01-01
  • 2018-04-23
  • 1970-01-01
相关资源
最近更新 更多