`
wangpx
  • 浏览: 202417 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

如何用java远程访问Domino邮箱数据2

    博客分类:
  • java
阅读更多

遍历邮箱数据库的所有 Document

根据 DocumentCollection dc = dbMail.getAllDocuments(); 我们获得了该数据库中存储的所有 Document 的集合,这就是所有的邮件。于是可以遍历了:

Code

if (dbMail != null)

{

       DocumentCollection dc = dbMail.getAllDocuments();

       System.out.println("Mail database : " +

                         dbMail.getTitle() + " is " +

           ((int )(dbMail.getSize()/1024)) + "KB long and has " +

           dc.getCount() + " documents");

          

       String fn = dbMail.getFileName();

    String title = dbMail.getTitle();

    System.out.println(fn.toUpperCase() + " - " + title);

   

    Document doc = dc.getFirstDocument();

    while (doc != null) {

    System.out.println(

               doc.getItemValueString("Subject"));

    System.out.println("~~~~~~~~~~~~~~~~~~~~\r\n");

    System.out.println("From=" + doc.getItemValueString("From"));

    System.out.println("~~~~~~~~~~~~~~~~~~~~\r\n");

    System.out.println("Body=" + doc.getItemValueString("Body"));

    System.out.println("~~~~~~~~~~~~~~~~~~~~\r\n");

   

    String readFlag = doc.getItemValueString("Readed");

    if (readFlag == null || readFlag!= "1" )

    {

        doc.appendItemValue("Readed ",

               "1");

        if (doc.save())

            System.out.println("Document created and saved");

            else

            System.out.println("Something went wrong");

    }

     else

        System.out.println(" 发现已经打上了标记 !");

   

    String docNoteID = doc.getNoteID();

    System.out.println("NoteID = " + docNoteID);

    String docNoteURL = doc.getNotesURL();

    System.out.println("NoteURL = " + docNoteURL);

                                 

    doc.recycle();

    doc = dc.getNextDocument(); }

 

我们通过 String readFlag = doc.getItemValueString("Readed"); 可以获得这个邮件的“ Readed ”字段 ( 自定义字段 ) 。如果这个字段不存在,说明我们是第一次浏览该封邮件。这样的话,我们通过 doc.appendItemValue("Readed ", "1"); 以及 doc.save() ,给该封邮件增加这个已浏览标示字段。

 

另外,转《通过 JAVA-CORBA 访问 Domino 》中一段很有帮助的话:

如何从 lotus.domino.NotesException 中获取错误信息:

在你编写 domino java/corba 应用程序时,不可避免的要同异常处理打交道, NotesException 当然是每个开发人员都不愿见到的但又不得不经常面对的问题。

如果你在写程序时尽是简单的采用

try{

  ….

}catch(Exception e){

  e.printStackTrace();

}

的形式捕捉异常,那么一旦代码抛出异常,你将变得一筹莫展,因为屏幕上不会打印出任何对你提供帮助的信息,这方面的资料更是凤毛翎角, IBM 的官方文档中都没有丰富的错误信息提示。错误捕捉代码应该这样写:

try{

  ….

}catch(Exception e){

if(ex instanceof lotus.domino.NotesException){

System.out.println( " 通过 CORBA 访问数据库发生错误,错误代码为 "

+((lotus.domino.NotesException)ex).id);

}

e. printStackTrace();

}

这是屏幕上将打印出错误代码,有了错误代码,我们还要知道错误代码的含义,这就要到 IDL 文件中去查了。在 corba.dll 文件中 NotesError 这个接口定义了全部错误代码(自己要做一下简单的加法才能知道那里面错误代码的具体值),错误代码的变量名正是错误信息。这样你便可以对出现的问题了然于胸了 , 对你解决突发性事件很有帮助。

 

 

参考资料:

1 :《 Java Domino Objects 的访问》, by Robert Perron,Steve

2 :《用 Java 通过 DIIOP 远程操作 Domino 服务器》

3 :《通过 JAVA-CORBA 访问 Domino

4 :《 LotusNotes Eclipse 管理和运行 Java 程序》

分享到:
评论

相关推荐

    如何用java远程访问Domino邮箱数据

    Java远程访问Domino邮箱数据是通过使用Lotus Domino Java API(Lotus Domino JNA或Lotus Domino Access for Java)来实现的。这个过程涉及到多个步骤和技术,包括理解Lotus Domino的架构、设置Java环境以及使用特定...

    java访问domino,通过http访问Domino,java快速访问Domino,java集成lotus domino

    java访问domino,通过http访问Domino,java快速访问Domino,java集成lotus domino 完全提供源码 界面请查阅 https://blog.csdn.net/weijia3624/article/details/113108704

    Java访问Domino的编程指南.doc

    Java 访问 Domino 对象可以使用 Domino API 读取 Domino 数。 Java 访问 Domino 对象需要了解 Domino 的基本结构和 Java 的编程语言特性。同时,Java 访问 Domino 对象需要经历预备步骤、JDK 及 IDE、API 及 访问...

    使用Java mail API访问Lotus Domino邮箱

    在本场景中,我们将深入探讨如何使用Java Mail API来访问Lotus Domino邮箱系统。Lotus Domino是由IBM开发的企业级协作平台,其中包含了电子邮件、日历、任务等功能。 首先,为了与Lotus Domino服务器进行交互,你...

    java访问domino数据库.rar

    - 压缩包中的“Java-CORBA访问远程Domino服务器.doc”可能涵盖了使用Common Object Request Broker Architecture (CORBA)来访问远程Domino服务器的方法。CORBA提供了一种跨平台的分布式对象模型,允许不同系统间的...

    用java访问domino对象

    访问 Domino 对象使用 Java 本文主要介绍了使用 Java ...使用 Java 访问 Domino 对象需要了解 lotus.domino 包的使用和 NotesFactory 类的方法,了解本地调用和远程调用的区别,并且使用 NotesThread 类来管理线程。

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

    2. **打开数据库**:使用 Lotus Domino API 打开指定的邮箱数据库。例如,`NotesSession` 和 `NotesDatabase` 对象用于创建和管理与数据库的交互。 3. **查询邮件**:使用`NotesView`对象查询邮件视图,并获取邮件...

    java连接domino帮助文档

    2. **Lotus Domino JDBC驱动安装**:在使用Java连接Domino之前,需要在服务器上安装并配置JDBC驱动。这个过程可能包括在 Domino 服务器的notes.ini文件中添加相关配置参数,以及确保驱动程序的JAR文件在系统的类路径...

    Domino和Java互相访问.doc

    总结,这个文档描述了如何使用Java在Domino环境中通过JDBC访问Oracle数据库,生成动态HTML内容,以及如何在代理和Servlet中处理参数。这些都是在企业级应用开发中常见的集成技术和数据处理方法。

    Java访问Domino服务器.docx

    在《Java 访问 Domino 服务器》文档中,我们将学习如何使用 Java 语言访问 Domino 服务器。Domino 服务器是一个功能强大的电子邮件服务器,它提供了许多有用的功能,如全文检索、安全性和开发时效等。通过 Java 语言...

    Java 对 Domino 的访问

    Java对Domino的访问是IBM Lotus Domino开发中的一个重要主题,它允许开发者利用Java语言与Domino服务器进行交互,实现各种功能,如数据存取、邮件处理、应用逻辑控制等。在IBM官网上,这一主题被详细解读并分为上下...

    java webservice flash在domino中的使用

    在提供的压缩包文件中,"flash在domino中的使用"可能包含有关如何在Domino环境中使用Flash的详细指南,"java在domino中的使用"可能会讲解如何创建和部署Java Web服务,而"Webservice在domino中的使用"则可能涵盖了...

    Domino的Java编程指南

    要使用Java访问Domino对象,首先需要在环境中配置JDK和IDE,例如Eclipse或IntelliJ IDEA。然后,引入Lotus Domino的JAR库,这些库提供了访问Domino对象的API。常见的访问协议有IIOP(Internet Inter-ORB Protocol)...

    java调试domino邮件常见问题

    - 使用`ping`命令检查Domino服务器是否可访问。 - 使用`telnet`命令测试端口是否开放,特别是DIIOP默认使用的端口63148。 - 检查防火墙设置,确保相应的端口没有被阻止。 如果出现任何网络连接问题,需要先解决这些...

    用Java 操作Domino 数据库例子

    以下是一个使用Java读取Domino数据库并将数据写入XML文件的示例代码: ```java package test; import lotus.domino.*; import java.util.*; import java.io.*; public class ReadThread1 implements Runnable { ...

    用java访问domino对象[收集].pdf

    ### 使用Java访问Domino对象详解 #### 一、概述 本文档主要介绍如何利用Java语言访问Domino对象,包括数据库、视图、文档等。这些操作对于开发基于Lotus Domino/Notes的应用程序至关重要。文中所述内容主要适用于...

    java连接domino lotus.domino

    Notes.jar lotus.domino.* java连接domino 没有分数的可以到 http://www.ibm.com/developerworks/apps/download/index.jsp?contentid=50943&filename=DominoJSPArticle.zip&method=http&locale=worldwide

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

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

    java操作domino

    - Java API为开发者提供了通过Java应用程序操作Domino数据库的能力,使得可以在Java应用中实现对Domino数据的增删查改等功能。 3. **基本概念**: - **NotesThread**: 用于初始化和清理线程环境。 - **Sessions*...

Global site tag (gtag.js) - Google Analytics