【问题标题】:How Do I write an IBM (Lotus) Notes Client?如何编写 IBM (Lotus) Notes 客户端?
【发布时间】:2015-10-23 19:57:18
【问题描述】:

我希望编写一个统一的电子邮件和消息传递程序。支持 IMAP、POP 和 SMTP 都非常简单——这些协议都有很好的文档记录并且很容易获得。

Exchange 有一个记录在案的 SOAP API here,您可以通过它编写一个与 Exchange 服务器对话的 Exchange 客户端。

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

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

【问题讨论】:

  • Native Notes 既没有文档也没有加密;如果不以某种方式涉及 Notes ID 中的凭据,则不会发生任何事情。

标签: lotus-notes


【解决方案1】:

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

【讨论】:

  • 您能详细说明一下吗?这听起来可能比我想的要好,但是你能给我一个关于身份验证、查看消息和发送消息的最小示例吗?如果您可以提供示例,我会将已接受的答案更改为您的答案。编辑:嗯。需要在服务器端进行一些配置。甚至管理我们服务器的 IDK - 不过仍然值得一试。
  • Jesse 的回答比较全面,我看到他实际上提到了 cmets 中的 REST API,所以把接受留在那里。无论如何,我只是根据 API 的一般知识提出建议,而不是基于经验。我没有任何可以发布的示例,更不用说最小的示例了。是的,它确实需要一些服务器端配置,但可能已经提到的其他一些路由(例如,DIIOP)所以我认为值得一提。
【解决方案2】:

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

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

最近,Extension Library 添加了一个基于 JSON 的邮件服务,声称为许多操作提供非常友好的 API,但并不完整 - 例如,它似乎没有涵盖用户的自定义视图或文件夹.

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

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

另外,有一个名为DIIOP 的远程访问协议可用于通过Java 对象使用UN/密码凭证访问远程Domino 服务器。并非每台服务器都启用此功能,但它并不少见,并且不难启用。对于边缘情况,您无法访问所有 C API 功能,但这将涵盖很多领域。

【讨论】:

  • 问题:如果用户可以提供他们的Notes ID文件,我的程序可以在后台下载并设置官方的Notes客户端,然后连接C Toolkit吗?有什么不可行的原因吗?
  • 从技术上讲,当然 - 您可以即时创建程序和数据目录以及所需的 notes.ini 文件。不过,从法律上讲,我认为这将是一个艰难的推销。在这种情况下,直接说“您必须先安装 Notes”可能更安全。
  • 我想到了 ExtLib API 的附录:还有一个通用的 Data REST API,您可以使用它来填补 Mail API 中的空白,但格式会略有不同,需要一些时间我认为是特定的数据库级配置。
  • 我不建议使用 C API 工具包。这需要对 Notes 架构有深入的底层知识。我相信 Windows 上的 Python 可以访问 COM API,这将是一个更好的选择——但需要注意的是,API 的某些功能在 Win64 上不起作用,而且 IBM 正式在 Win64 上不支持它,但确实足够了你应该能够做到这一点。至于后台下载客户端,你不希望任何有ID文件的人都已经拥有客户端吗? (是的,COM API 也需要客户端安装)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-19
  • 2013-02-21
  • 1970-01-01
相关资源
最近更新 更多