用于与Domino集成的API

use*_*843 7 java lotus-notes lotus lotus-domino domino-designer-eclipse

我是Lotus/Domino世界的新手,并且负责以下Domino任务.

访问用户的Domino邮箱(来自中间件服务器)并从中删除某些恶意电子邮件.

其他背景 - 有一个外部安全工具/流程可以分析所有传入的电子邮件,并可以将电子邮件标记为恶意.如果它被标记为恶意,那么我想从相应用户的收件箱中删除此电子邮件.

在我的环境中部署的Domino服务器是 - Lotus/Domino 9

我的解决方案将部署在自己的中间件服务器(基于Linux)上,并将接收有关需要删除哪些电子邮件的传入通知.

我想最好使用Java实现此功能

我研究并发现了在Domino服务器上访问用户收件箱的潜在选择

  1. 我看到有一个用于Domino的C/C++ API工具包 - https://www.ibm.com/developerworks/lotus/documentation/capi/.乍一看,C API看起来很复杂.另外我需要安装Notes客户端(在我的中间件服务器上),以便我可以远程调用C API?
  2. 是否有可用于连接/访问Domino的Java API?我找到了几个相关的资源 - http://www-01.ibm.com/support/knowledgecenter/SSVRGU_9.0.1/com.ibm.designer.domino.main.doc/H_10_NOTES_CLASSES_ATOZ_JAVA.html和www-10.lotus. com/ldd/ddwiki.nsf/xpViewCategories.xsp?lookupName = API%20文档似乎表明存在一些Java/REST API接口但是我不确定是否可以使用它来访问收件箱/邮箱数据.它似乎表示"日历"数据,但没有关于电子邮件/邮箱数据.
  3. 我在研究时遇到了OpenNTF Domino API项目(www.openntf.org/main.nsf/project.xsp?r=project/OpenNTF%20Domino%20API),而且似乎有一个Java API.我应该用这个吗?

从外部服务器角度访问Domino的最佳方法是什么?我是否坚持使用"C/C++"API或者是否可以利用相对(更易于理解和使用)的REST/Java API?我还必须在我的中间件服务器上安装Notes客户端,以便我可以调用API(C/C++或Java)吗?

谢谢,

Ric*_*rtz 14

    1. 你应该避免注释C和C++的API unlesss(一)你知道Lotus Notes和Domino真的,真的好(或愿意学习很多非常快),(b)您确定您解决问题的唯一方法是编写Domino服务器任务或扩展.这些API与Lotus Notes/Domino数据的使用水平非常低.
    2. 是的,有一个Java API.它已经存在多年了.还有一个可以从Java(或任何其他可以建立HTTP连接的语言)访问的REST API,但这种情况只存在了几年.Java API更丰富,可以达到比REST API更低的级别.REST API可能足以满足您的需求,但很有可能必须专门设置服务器才能使其访问邮箱.如果您使用Java API,情况就不一定如此 - 尽管这取决于您是否可以在安装了核心Lotus Notes/Domino代码的计算机上运行Java代码 - 并且您将不得不调查技术和许可问题.获得Java API教育的一个好方法是阅读Bob Balaban的书,这本书已经过时且过时了,但它确实涵盖了你所描述的目的所需的大部分内容 - 除了一个例外:它是这么早写的,它不包括进行recycle()调用的需要.但是他在这里发布了这些章节免费下载,你已经找到了最新课程文档的链接,现在你知道了recycle()我相信你可以找到有关你需要它的原因和时间的信息.
    3. OpenNTF Domino API是官方Java API的开源替代品.它的构建是为了解决许多棘手的问题(比如recycle()!)以及使用官方API的代码遇到的限制.

关于安装Notes客户端的问题:当我在第2项中提到核心Lotus Notes/Domino代码时,我提到了这一点.您有两个官方Java API选项.选项A - "本地":这使用核心Notes/Domino代码对服务器进行Notes RPC调用,因此您必须安装Notes客户端或Domino服务器代码的许可版本才能获取核心代码.(请注意,如果您绑定到64位JVM,则需要64位代码,这意味着您需要安装Domino服务器而不是Notes客户端,因为没有64位Notes客户端.)选项B - "远程":您不需要安装任何Notes或Domino代码,这使用CORBA/IIOP而不是Notes RPC与服务器通信,但这意味着它需要在Domino服务器上启用IIOP.我还应该注意,上次检查时,OpenNTF API仅支持"本地"模型.

我不得不提一下:由于这个原因,这很接近主题:

要求我们推荐或找到书籍,工具,软件库,教程或其他场外资源的问题都是Stack Overflow的主题,因为它们往往会吸引固执己见的答案和垃圾邮件.相反,描述问题以及到目前为止已经做了什么来解决它.

我还要注意,通过在StackOverflow上搜索,而不是谷歌,可以很容易地确认存在用于Lotus Domino的Java API,但重点是找到基本引用是相当的.更具挑战性.Domino体育场与StackOverflow中涵盖的许多其他体育场略有不同.由于是从字面上25年价值有关Domino信息有,但往往在片段和经常过时了,它真的可以很难找到可用的电流是工具和库(或API)的真实信息今天.然而,这些选项确实非常有限,所以这并不是真正的意见,我认为这值得回答.不过,我不会提出建议,因为那真的是意见.