利用Notes的JAVA api发送邮件(代码片段)
最近要编写一个利用Notes自动发送邮件的程序,研究一天终于OK了``在这里跟大家分享代码
import lotus.domino.AgentBase;
import lotus.domino.NotesException;
import lotus.domino.NotesFactory;
import lotus.domino.Session;
public abstract class EclipseAgentBase extends AgentBase {
public abstract void sendMail(String text);
public Session getSession() {
try {
return NotesFactory.createSession();
} catch (NotesException e) {
throw new RuntimeException("Unable to create session", e);
}
}
}
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import lotus.domino.NotesThread;
import lotus.domino.Session;
import lotus.domino.*;
public class MyAgent extends EclipseAgentBase {
private String sendname;
private String servername;
private String filepatch;
public MyAgent(){
try {
InputStream in = this.getClass().getResourceAsStream("/MailSystem.properties");
Properties props = new Properties();
props.load(in);
this.sendname=props.getProperty("sendname");
this.servername=props.getProperty("servername");
this.filepatch=props.getProperty("filepatch");
//System.out.println(sendname);
//System.out.println(servername);
//System.out.println(filepatch);
} catch (IOException e) {
e.printStackTrace();
}
}
public void sendMail(String text) {
try {
Session session = this.getSession();
System.out.println("Username: " + session.getUserName());
Database db=session.getDatabase(servername,filepatch,true);
Document domMail=db.createDocument();
domMail.appendItemValue("Form","Memo");
RichTextItem body=domMail.createRichTextItem("body");
body.appendText(text);
domMail.send(sendname);
System.out.println("done");
} catch (Exception e) {
e.printStackTrace();
}
}
}
MailSystem.properties
sendname=jiangmin.java@gmail.com
servername=Dominosrv/MVS
filepatch=mail/jiangmin.nsf
这两个类就是完整的代码,调用sendMail()就可以发送邮件了,光有代码是不能发送的,现在我们来说说环境的搭建,首先要安装Lotus Notes客护端(我这个程序不是运行在本地的,也就是说它不和Lotus Notes服务器在一起的,我们需要远程访问),然后我们需要两个JAR包Notes.jar和NCSO.jar,把D:\lotus\notes加到patch路径下(也就是Notes的根目录),最后就是配置Notes客户端了,配置好了,一切OK```如果你关掉Notes客户端,那么该程序需要你输入密码,要想不用输入密码那么你就得一直看着客户端了(没办法).
http://www.ibm.com/developerworks/cn/lotus/ls-java_access_pt1/
api:
http://sourceforge.net/projects/domingo/files/
分享到:
相关推荐
Java中发送邮件通常利用JavaMail API来实现。JavaMail API是一个强大的库,用于发送、接收、读取和处理电子邮件消息。JavaMail建立在JavaBeans的基础上,因此具有高度可配置性。在本示例中,代码通过`MailUtil`类...
Java开发者可以利用这些API实现更复杂的功能和集成。 3. **Notes C API**: 对于C或C++开发者,Notes C API提供了低级别的访问,可以实现高性能的操作,但需要更深入的了解Domino内部结构。 在标签中提到的"源码...
为了更好地集成Java应用程序与Domino数据库,IBM提供了Java API(ToolKit),允许开发者利用Java语言对Domino进行各种操作,如读取、更新、创建和删除文档等。本文将详细介绍如何使用Java操作Domino数据库,并提供一...
在Java中与Lotus Domino交互,主要利用Lotus Domino的Java API,即Lotus Domino JNA(Java Native Access)库或JDBC驱动。 要实现Java连接Lotus Domino,我们需要以下步骤: 1. **引入依赖**:在Java项目中,需要...
本文将对小米便签中的部分代码进行深入解读,并重点分析其中的 `UI` 包内 `AlarmAlertActivity.java` 文件的相关代码实现细节。 #### 二、UI 包详解 ##### 2.1 `AlarmAlertActivity.java` `AlarmAlertActivity` ...
3. **建立连接**:在Java代码中,你可以使用以下代码片段来创建一个到MySQL数据库的连接: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class...
结合以上信息,我们可以推测这是一个关于笔记整理,特别是与编程相关的知识,可能包含了作者的学习笔记、代码片段、项目经验,以及可能遇到的问题解决方案。同时,日志文件的提供可能意味着作者在分享如何通过分析...
### 四、关键代码片段解释 #### delDocByKey 方法详解 该方法接收一个数据库对象和字符串日期作为参数,其目的是删除指定日期相关的所有文档。主要步骤如下: 1. 获取名为`v_DatelySearch`的视图。 2. 将传入的日期...
这里提供了一个简单的Servlet示例代码片段,展示了如何接收并处理SOAP请求。 ```java import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; public class...
5. **开发工具增强**:JDK中的开发工具也会不断进化,比如JShell(也称为REPL,Read-Eval-Print Loop),在JDK 9中被引入,允许开发者快速测试Java代码片段。 6. **模块化**:JDK 9引入的最大变化是模块系统,这...
- **生成的Servlet API**:解释了JSP编译成Servlet后所使用的API,以及JSP页面如何与Servlet API交互。 - **范围和属性**:讨论了JSP中可用的不同范围,如page、request、session和application,并解释了如何在这些...
1. **Android SDK**: Android软件开发工具包是开发Android应用程序的基础,它包含了编写、调试和测试应用所需的所有工具,如Java编译器、Android虚拟机(AVD)管理器以及Android Studio IDE。 2. **布局(Layouts)...
【NOTICE】文件通常列出Tomcat使用到的第三方库和代码片段,以及它们各自的版权和许可信息,确保了对第三方软件的合规使用。 【lib】目录存储了Tomcat运行时需要的各种Java库,包括核心库、Servlet API和其他支持库...
代码片段: :这里仅考虑红包分配自身,不考虑并发、超时退回等逻辑。 来自 相关 。 Laravel 入门教程: 本人去年自己写的 Laravel 系列教程,使用的4版,内容可能有些过时或错漏。博客连载地址为: 目录 ... Git ...
综上所述,这段代码涉及到了Spring框架中的注解使用、RESTful API设计、业务逻辑处理、数据模型设计以及数据库查询优化等多个方面,是Java Web开发中的一个重要案例。对于学习Java编程尤其是Spring框架的应用具有较...
JSP是一种服务器端脚本语言,它允许开发者在HTML代码中嵌入Java代码片段。在服务器接收到客户端请求时,JSP文件会被转换成Servlet(Java类),然后由Servlet处理请求并生成响应。JSP的主要组成部分有指令...
简单笔记Android应用 具有以下特点: 整个应用仅使用1个活动。 将片段用于不同的屏幕。 用户启动应用程序时,将显示... 这项作业旨在测试您对Google登录API,活动和片段,共享首选项,SQLite和Recyclerviews的理解。
在这个场景下,给定的代码片段展示了如何将一个正在查看的文档转换为编辑模式。以下是关于这个主题的详细解释: 1. **XPages基础**: - XPages是IBM Lotus Domino的一种富互联网应用程序(RIA)开发框架,允许...
“JSON Request API”部分讲述了使用JSON格式发送请求的API,这是Solr支持的几种请求格式之一。 “Faceting”部分介绍了如何在搜索结果中使用切面(facets),切面是用户界面中常用的导航工具。 “Highlighting”...
Notes Regarding Cascading Operations 11. Zend_Debug 11.1. 输出变量的值 (Dumping Variables) 12. Zend_Exception 12.1. 使用“异常” 13. Zend_Feed 13.1. 介绍 13.2. 导入Feeds 13.2.1. 定制 feeds ...