如何编写IBM(Lotus)Notes客户端?

时间:2015-08-01 03:49:02

标签: lotus-notes

我正在寻找一个统一的电子邮件和消息程序。支持IMAP,POP和SMTP都非常简单 - 协议记录良好且易于获取。

Exchange有一个记录here的SOAP API,您可以编写与Exchange服务器通信的Exchange客户端。

我正在寻找IBM(Lotus)Notes使用的协议以及如何编写可以发送和接收邮件的独立应用程序。 (Standalone是其中的一个关键部分 - 我已经看到了关于自动化现有客户端的各种事情,但我正在寻找新的客户端,因此我需要知道它使用的协议。)

此时语言对我来说并不重要。我倾向于Python用于该项目,但我仍处于探索阶段,我正试图确定任何语言中存在哪些框架来帮助我写这个。

2 个答案:

答案 0 :(得分:2)

这是一个非常有趣的话题!我有两种方法可以提供面向邮件的抽象,还有两种方法可以直接将数据库作为数据库访问。

首先,这很可能是权宜之计,Domino支持IMAP。它远非完美,并且不太可能改进,但它或多或少地为邮件访问工作。并非每个服务器都默认启用它,但管理员这样做并不是非常困难或不寻常。

最近,Extension Library添加了一个基于JSON的邮件服务,旨在为许多操作提供非常友好的API,但不完整 - 例如,它似乎无法涵盖用户和#39;自定义视图或文件夹。

根据项目的深度,有使用Domino数据库API访问服务器的路径,这将是最灵活的,但会涉及更多的障碍。

核心协议是NRPC,据我所知,它只在核心Notes库中实现。正如Stan所说,它与ID文件(服务器或用户)的存在密切相关,并将其用于加密。通过一些设置,您可以拥有该库和ID,然后在它支持的平台上使用C函数和结构。此路由将为您提供最多的功能(有许多C级函数可以帮助在Notes的文档表示和MIME之间进行转换。)

或者,有一个名为DIIOP的远程访问协议,可用于通过Java对象使用UN /密码凭证访问远程Domino服务器。这并不是针对每个服务器启用的,但它并不是非常罕见,并且难以启用。对于边缘情况,您无法访问所有C API的功能,但这将涵盖很多方面。

答案 1 :(得分:0)

如果你想在Python中工作,并且你愿意仅限于最新版本的Lotus Domino服务器,那么我认为你应该考虑使用称为Donmino数据服务的REST API。这是一些on-line documentation