【发布时间】:2012-01-19 09:27:30
【问题描述】:
我想通过运行在 Tomcat 服务器上的 Java 应用程序从本地安装的 Microsoft Outlook 交换电子邮件。 在过去,这不是问题,但由于我们将 tomcat 服务器从“正常”启动例程切换为作为服务启动(出于性能原因这样做),我与 Outlook 的连接不再工作。
由于我在很长一段时间内一直在寻找解决方案(没有找到解决方案),所以我决定在这里留下一个帖子。
我已经知道了,那
Outlook 对象模型不适合在 Windows 服务中运行
可以在http://support.microsoft.com/kb/237913 找到。由于启动服务时未加载注册表配置单元 HKEY_CURRENT_USER。
但在这种情况下,我认为一个简单的“不 - 那是不可能的”不能成为解决方案,这就是我在这里寻求帮助的原因。
- 例如是否可以让tomcat 上的应用程序启动一个新的本地应用程序,然后连接到Outlook?
- 是否可以手动加载 HKEY_CURRENT_USER 配置单元?
- 或者另一方面,通过使用我尚未提及的解决方案来做到这一点?
提前非常感谢!
【问题讨论】:
-
为什么需要通过outlook?我认为更简洁的设计是直接使用 SMTP 和 IMAP 与邮件服务器通信
-
@Rolf Rander 感谢您的快速回复,通过 Outlook 保持连接是必要的,因为该项目的前提是用户可以上传 Outlook 附带的电子邮件。在这种情况下,我不能保证用户想要上传的每封电子邮件也可以通过 SMTP/IMAP 访问。例如,如果用户以这种方式配置他的 Outlook,则所有电子邮件都被获取,并且没有一个也在线存储。另一个方面是用户是否想上传草稿。
-
啊,好的。我对windows(或outlook)了解不多,但可能服务在任何用户上下文之外运行(根据定义),但要运行outlook,您需要一个用户上下文(运行像outlook这样的最终用户应用程序服务可能没有意义)。
标签: java tomcat windows-services outlook-2003