是否可以在 IBM Domino 服务器上订阅邮件事件?
我需要一项类似于Microsoft Exchange Event Notification提供的服务,您可以在其中订阅事件并在有更改时收到通知 - 例如。新电子邮件的到来。我需要将解决方案放在服务器端,因为我不能依赖用户运行他们的客户端。
是否可以在 IBM Domino 服务器上订阅邮件事件?
我需要一项类似于Microsoft Exchange Event Notification提供的服务,您可以在其中订阅事件并在有更改时收到通知 - 例如。新电子邮件的到来。我需要将解决方案放在服务器端,因为我不能依赖用户运行他们的客户端。
不幸的是,根据我上面的评论,没有与 EWS 支持的推送、拉取和流式订阅服务等效的预打包服务。Notes 客户端可以通过 Notes RPC 协议获取通知,并且显然在 IBM 的 Notes Traveler 移动产品中也有一些技术,但我不知道它是预打包的 Web 服务,甚至是通知 API。你必须建造它。有多种方法可以解决。
对于推送或流式订阅,一种方法是使用扩展管理器的 Notes C API 插件,在服务器上运行并监控邮箱。您也许可以在 Domino 的 HTTP 堆栈中使用 DSAPI 插件来管理传入连接并将数据提供给订阅者,但老实说,我不知道 Domino 的 HTTP 堆栈是否可以处理订阅模型中隐含的持久连接。或者,扩展管理器插件可以快速将数据发送到以您想要的任何其他语言编写的代码,并在任何 Web 堆栈上运行。当然,您必须通过所有链接在一起的部分来处理安全问题。
对于拉取订阅,我想它实际上更像是一种轮询架构,状态保存在某处,因此只有自上次调用以来的更改才会被传递。你有很多选择。显然,您可以使用 Domino 的内置 HTTP 服务器,因此您可以为此编写自己的 Domino 托管 Web 服务。您还可以使用作为 REST API 的 Domino 数据服务来执行此操作——所有必要的状态信息都存储在客户端。(快速浏览一下,自指定日期时间以来通过 Domino 数据服务获取所有新文档并不是一个好的选择,但它可能是可能的。)
我确实有点担心任何自定义解决方案的可扩展性。我的理解是,微软在他们的服务中有相当多的缓存和优化,以解决规模问题。显然,您可以将所需的任何内容构建到您自己的 Web 服务中,但这可能会增加很多工作量。