`
kakajw
  • 浏览: 265792 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于Java程序调用Lotus Notes邮件服务发送邮件的实现(一思路)

阅读更多

关于Lotus Notes

Lotus Notes/Domino 是企业级通讯、协同工作及Internet/Intranet平台;内含强大的电子邮件功能,应用于企业办公自动化。 

 

Lotus Notes结构

总的来讲,Lotus Notes 软件是C/S(客户端/服务器)架构的:客户端称为Notes,服务器端称为Domino;另外,部分新版本还提供Web服务,可通过浏览器访问服务器端Domino

通常说的Lotus Notes软件,其实两部分:客户端Notes和服务器端Domino

  因此,部署Lotus Notes套件包括服务器端Domino的安装和配置,客户端Notes的安装和配置,后者相对简单,在此推荐本人验证过的服务器端Domino的部署教程给小白们(domino 8.51安装全步骤(图文教程) http://www.piikee.net/read.php/413.htm)。

 

Lotus Notes的邮件系统

Lotus Notes软件内含的邮件系统,服务器端Domino上部署邮件服务应用;Notes 工作站与 Domino 服务器之间或两个 Domino 服务器之间通信的基础为 NRPCNotes 远程过程调用,也称Notes 路由协议)服务。关于NRPC,请参考:

http://darewinchip.com/help/help7_admin.nsf/2e73cbb2141acefa85256b8700688cea/b898e0382c11e6b04825706f0079637f?OpenDocument

http://www-01.ibm.com/support/docview.wss?uid=swg21602698

也就是说,缺省情况下,Domino 服务器使用 NRPC与在其它Domino服务器或Notes工作站进行电子邮件/消息的通信。另外,也可配置Domino服务器,通过标准邮件通信协议如SMTPPOP3与其他服务器进行通信。

 

问题:向Notes的邮件系统内部发送邮件

问题描述:如何通过编写Java程序,以Notes的邮件系统内部某个用户的身份,向Notes的邮件系统的其他内部用户发送邮件/消息?

 

解决思路

  1.试试JavaMail

欲解决该问题,首先想到的Java的邮件服务接口JavaMail,但JavaMail只支持互联网标准邮件通信协议(mail systems based on internet standards such as MIME, SMTP, POP3, and IMAP,参加APIhttp://javamail.kenai.com/nonav/javadocs/index.html),显然,NRPCIBM内部自定义的邮件通信协议,非标准的(而且貌似非公开的);因此,若Domino服务器配置为只能通过NRPC方式进行邮件通信(并不少见),则JavaMail无法解决该问题。

  2. 试试客户端Notes

若是人工手动完成该过程,以内部用户身份发送邮件的操作接口是在客户端Notes,通过登录Notes客户端,完成身份校验后,即可在客户端编辑邮件并发送。因此,我们可以考虑在本地安装客户端Notes,编写Java程序与本地客户端Notes通信,并通过客户端Notes接口调用Domino发送邮件,前提是Lotus Notes 软件提供访问客户端NotesAPI,事实上,该思路是可行的。

IBM官网可以找到Java程序访问客户端Notes的资料和接口(请参考Lotus 官方文档架构师的文章:JavaDomino Objects的访问:

http://www.ibm.com/developerworks/cn/lotus/ls-java_access_pt1/index.html

另外,文中提到第3条思路:Java程序可通过远程连接访问的 Domino 服务器,调用相关API完成邮件发送。

3. 远程连接

使用 CORBA请求 Domino服务器的IIOP服务,通过相关API,完成邮件发送。这种方式最方便,相比思路2,思路3不需要和本地的客户端Notes通信,直接和Domino服务器对话,因此不要求本地必须安装客户端Notes

 

以下是文章(JavaDomino Objects的访问)针对该部分的摘要:

Java Domino Objects 的访问是通过高级包 lotus.domino 进行的。根据运行时环境,这个包中的接口是在其他两个包中的一个包中实现的:

lotus.domino.local 提供了从同一计算机上的 Notes/Domino 软件进行调用。

lotus.domino.cso 提供了从通过远程连接访问的 Domino 服务器进行调用。

对于本地访问,Java 程序运行在安装有 Notes 客户机或者 Domino 服务器的计算机上。本地类由 JNIJava Native Interface)构建来,用于访问与 JVMJava Virtual Machine)相同的进程中的 Notes/Domino 二进制文件。

对于远程访问,Java 程序使用 CORBACommon Object Request Broker Architecture)请求 Domino 服务器所提供的服务。远程类使用 CORBA 通过 TCP/IP 网络访问服务器。

 

官方发布的Domino对象的API文档:

http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=%2Fcom.ibm.designer.domino.main.doc%2FH_NOTESDOCUMENT_CLASS_JAVA.html

 

到此,该问题的解决办法已找到,可以根据需要选择思路23。

0
0
分享到:
评论

相关推荐

    Lotus Notes邮件开发

    标题:Lotus Notes邮件开发 描述与标签:Lotus Notes邮件开发 知识点: 1. Lotus Notes简介: Lotus Notes是一款由...开发者需要熟悉Lotus Notes的DOMINO API和Java编程语言,才能有效实现邮件自动化处理的需求。

    java连接Lotes邮件服务器(Domino) 读取邮件内容附件完整实例

    在Java编程中,连接到IBM Lotus Domino(也称为Lotes)邮件服务器并读取邮件内容和附件是一项常见的任务。Lotus Domino是IBM提供的一款企业级的协作软件,它集成了电子邮件、日历、任务和文档管理等功能。这篇教程将...

    JAVA调用IBM Notes的工具包

    JAVA调用IBM Notes的工具包,基本可以实现在java中操作Notes,适用的Notes版本为9.0,其它版本暂时未知,有兴趣的可以测试一下

    Lotus Notes/Domino jar包

    `domingo`可能是一个封装了Notes/Domino API的Java库,方便开发者更简洁地调用某些功能或者提供额外的特性。 总的来说,这个压缩包包含的资源对于想要利用Java进行Lotus Notes/Domino集成开发的程序员来说是必不可...

    一个基于Lotus +JavaScript 实现的客户端邮件发送程序例子

    标题"一个基于Lotus +JavaScript 实现的客户端邮件发送程序例子"表明我们将探讨如何利用JavaScript语言来构建一个功能,使用户能够在客户端直接发送邮件,而无需通过Web服务器或其他中间件。这种技术可以提高用户...

    lotus notes 开发经验大汇总

    Lotus Notes是一款强大的企业级协同应用软件,由IBM公司开发,主要用于电子邮件、日历管理、任务安排、文档共享以及复杂的业务应用开发。本压缩包文件是资深Lotus Notes开发者的经验结晶,涵盖了他在长期开发过程中...

    Lotus Notes的C/S结构的工作流模板

    5. **数据库脚本**:Lotus Notes使用LotusScript或Java进行编程,这些脚本可以嵌入到表单、视图或代理中,实现更复杂的工作流逻辑。在模板中,开发者可能需要了解如何编写和调用这些脚本来控制工作流的运行。 6. **...

    lotus domnio java代理传值

    在Lotus Domino开发环境中,Java代理是用于执行服务器端任务的重要工具,它们可以自动化许多功能,如处理数据、发送邮件等。"lotus domnio java代理传值"这个主题主要涉及如何在Java代码中创建和使用代理,并在代理...

    Lotus Notes开发指南

    ### Lotus Notes开发指南知识点解析 #### 一、编程概述 **6.1 在Domino中编程** - **公式**: 公式是一种具有编程语言特性的表达式,可以在其中赋值给变量并使用有限的控制逻辑。它通过调用@functions 和 @...

    Java和JavaScript在Lotus Domino_Notes5.0开发中的应用.pdf

    在Lotus Domino/Notes5.0中,Java和JavaScript可以相互配合使用,如使用Java开发服务器端的应用程序,而使用JavaScript实现客户端的交互程序。这样的组合可以使开发变得更加灵活和高效。 在开发过程中,需要注意...

    java_6_source.rar_LOTUS_telnet java_简单计算器java

    最后,"利用Javamail来发送邮件"涉及到JavaMail API,这是一个开源的Java库,用于处理电子邮件。通过它,开发者可以创建、发送、接收和管理邮件。JavaMail API提供了一系列的接口和类,如Session、Message和...

    使用Java mail API访问Lotus Domino邮箱

    Java Mail API 是一个广泛使用的Java库,用于处理电子邮件通信,包括发送、接收和管理邮件。在本场景中,我们将深入探讨如何使用Java Mail API来访问Lotus Domino邮箱系统。Lotus Domino是由IBM开发的企业级协作平台...

    lotus domino webservice建立和调用

    在本篇文章中,我们将深入探讨如何建立和调用Lotus Domino Web服务。 首先,建立Lotus Domino Web服务涉及以下几个关键步骤: 1. **设计Web服务接口**:你需要在Lotus Domino Designer中创建一个新的Notes Form...

    lotus数据用java程序导入导出实现数据移置的方案

    ### Lotus 数据用 Java 程序导入导出实现数据移置的方案 #### 概述 在企业级应用中,Lotus Notes 和 Domino 平台因其强大的文档管理和协作能力而被广泛采用。随着业务需求的变化和技术的发展,有时需要将存储在 ...

    Domino R8+版本编写及调用webservice样例库

    综上所述,"Domino R8+版本编写及调用webservice样例库"是一个关于如何在IBM Lotus Domino R8或其后续版本中创建和使用Web服务的教程或实践资源,涵盖了Web服务的创建、WSDL的使用、SOAP通信、调用服务的示例代码...

    lotus domino java代理_获取传递值json

    Lotus Domino 是一种基于Notes技术的服务器端应用程序, Lotus Domino Java 代理是指在 Domino 服务器上运行的 Java 代理程序,可以用来处理用户请求、提供数据服务等。今天,我们将讨论如何在 Lotus Domino Java ...

    Louts Notes集锦

    【标题】"Louts Notes集锦"所涵盖的知识点主要集中在Lotus Notes这一企业级协作软件上,特别是关于Java操作Domino API的实践与理论。Lotus Notes是IBM推出的一款强大的协同办公系统,它提供了电子邮件、日历、任务...

    notes API 8.5

    "Notes API 8.5" 是IBM Lotus Domino服务器和客户端应用程序开发的重要组成部分,它为开发者提供了与Lotus Notes和Domino系统交互的编程接口。这个API允许程序员通过编写代码来创建、读取、更新和删除Notes数据库中...

    Java访问Domino服务器.docx

    Java 访问 Domino 服务器详解 在《Java 访问 Domino 服务器》文档中,...本文档详细地介绍了如何使用 Java 语言访问 Domino 服务器,包括环境配置、Java 代码实现和调试注意事项,为开发者提供了一个完整的解决方案。

Global site tag (gtag.js) - Google Analytics