Java 从MS Exchange检索附件的最佳方法

Java 从MS Exchange检索附件的最佳方法,java,jakarta-mail,exchange-server,mapi,Java,Jakarta Mail,Exchange Server,Mapi,我们尝试使用JavaMail API有一段时间,但偶尔会收到此错误报告记录的ArrayIndexOutOfBounds错误: 它被标记为已修复,但实际上我们仍然存在该错误。此外,使用JavaMail检索附件的性能一直非常慢。即使在与Exchange相同的网络上,速度也大约为10 KB/s,因此我们决定尝试另一种方法 我们发现,使用名为MoonRug的Mapi客户端,我们能够获得显著更好的性能: 这比JavaMail工作得好得多,但我们仍然时不时地在连接到Exchange和下载附件(大小从3KB

我们尝试使用JavaMail API有一段时间,但偶尔会收到此错误报告记录的
ArrayIndexOutOfBounds
错误:

它被标记为已修复,但实际上我们仍然存在该错误。此外,使用JavaMail检索附件的性能一直非常慢。即使在与Exchange相同的网络上,速度也大约为10 KB/s,因此我们决定尝试另一种方法

我们发现,使用名为MoonRug的Mapi客户端,我们能够获得显著更好的性能:

这比JavaMail工作得好得多,但我们仍然时不时地在连接到Exchange和下载附件(大小从3KB到20MB不等)时出错

我开始怀疑直接使用Java调用交换是否是我们应该采取的正确方法。有没有人推荐一种更好的方法?我们主要是一家java商店,但如果有一种不同的工具或技术可以从Exchange接收电子邮件,并将它们放在文件系统的某个位置,以便java进程读取和处理,这是我们的选择


此应用程序的目标是在某个收件箱中接收传入邮件,并将它们和附件保存到用户可以交互的后端系统。我们现在做一个拉取过程,每分钟轮询一次收件箱。如果有某种方法可以使这成为一个推送过程,方法是将某些东西直接集成到Exchange Server中,以接收电子邮件并自动将它们导出到文件系统中,这也是我们的一种选择

您可能想看看。它是基于Java的,并且可以访问Exchange。它可能会也可能不会为您提供可以使用的代码。否则,它可能允许您将其用作基于JavaMail的应用程序和Exchange之间的网关