Jacob - Outlook
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch; public class Util {
public static void sendEmail(Map<String, String> unfinished) {
// System.out.println(System.getProperty("java.library.path"));
Map<String, String> recipientMAP = initialProperties("recipient");
StringBuffer sb = new StringBuffer();
ActiveXComponent outlook = new ActiveXComponent("Outlook.Application");
Dispatch mailItem = Dispatch.call(outlook, "CreateItem", 0).getDispatch();
Dispatch recipients = Dispatch.call(mailItem, "Recipients").getDispatch();
Iterator<Entry<String, String>> recipient = recipientMAP.entrySet().iterator();
while (recipient.hasNext()){
Entry<String, String> entry = recipient.next();
String address = entry.getValue();
Dispatch.call(recipients, "Add", address);
}
Dispatch.put(mailItem, "Subject", "TRS Weekly Checking");
if (unfinished.isEmpty()) {
sb.append("<h1>All members have completed TRS for this week. <br>Thanks all!</h1>");
} else {
sb.append("<h1>Hi guys, <br>Please book your TRS for this week:</h1>");
sb.append("<table style='color:red; font-size:12pt' border='1' cellspacing='0' cellpadding='5'><tr><th>Name</th><th>SOEID</th></tr>");
Iterator<Entry<String, String>> iter = unfinished.entrySet().iterator();
while (iter.hasNext()) {
Entry<String, String> entry = iter.next();
sb.append("<tr><td>" + entry.getValue() + "</td><td>" + entry.getKey() + "</td></tr>");
}
sb.append("</table>");
}
String body = "<html><body>" + sb.toString() + "</body></html>";
Dispatch.put(mailItem, "HTMLBody", body);
Dispatch.call(mailItem, "Display");
Dispatch.call(mailItem, "Send");
System.out.println("The mail was sent out.");
}
}
通过 JACOB 实现 Java 与 COM 组件的互操作 http://www.ibm.com/developerworks/cn/java/j-lo-jacob/ JACOB is a JAVA-COM Bridge that allows you to call COM Automation comp http://sourceforge.net/projects/jacob-project/
Jacob - Outlook的更多相关文章
- 【jacob word】使用jacob,合并多个word为一个word文件
将几个word文件合并到一个word文件,使用注意点: 1.后面附项目运用的jar包jacob-1.9, 2.并且jacob运用中,需要将附件内的jacob.dll放到windows/system32 ...
- JACOB的语法
转自:http://www.bitscn.com/pdb/java/200904/161117.html 如果你想写一个JAVA代码,其中需要调用JACOB提供的功能,而你还是新手,也许篇文章会大大降 ...
- Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用
通过本文你将学会如下内容: 1,如何使用Xamarin开发跨平台(Windows,Android,iOS)应用. 2,如何使用微软的登录界面登入Microsoft账号. 3,如何使用Outlook邮箱 ...
- Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用(后续)
在[Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用]里面提到了Microsoft 身份认证,其实这也是一大块需要注意的地方,特作为后续补充这些知识点.上章是使用了Microsof ...
- Java jacob调用打印机打印word文档
前面说了Java如何生成复杂的Word文档,今年记录下Java如何调用打印机打印word文档. 起初用的是自带的PrintJob,但是系统提供的打印机制并不成熟完整.网上的代码也是千篇一律,在我的打印 ...
- 在Outlook中查看预览SharePoint文档库的文档
本文概况 阅读时间: 约2分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户,管理员 难度指数:★★☆☆☆ 在日常工作中,总有一些常用的文档需要经常打开查看,其实我 ...
- OUTLOOK 发生错误0x8004010D
问题: outlook 2003 在接收邮件时报错: “正在接收”报告了错误(0x8004010D):“在包含您的数据文件的驱动器上,磁盘空间不足.请清空“已删除邮件”文件夹或删除某些文件以释放 ...
- Excel单元格发生变化后,使用Outlook给特定的人发邮件
自己在公司里面维护了一个小金库的Excel,当某个人的余额小于0的时候,Outlook会自动给这个人发一封邮件,同时将这个Excel附在邮件中,具体的代码如下: Public Function sen ...
- Outlook HTML渲染引擎
OutLook始终不离不弃 是不是很讨厌为Email代码兼容Outlook? 太遗憾了!虽然光都有尽头,但Outlook始终存在. 为了应付Email的怪癖,我们花了很多时间测试,确保我们搞定了所有O ...
随机推荐
- jmeter压测SSL加密网站
1.生成秘钥文件 得到网站证书,用jdk自带的keytool生成秘钥文件,执行dos命令: keytool -import -alias "aaa" -file " ...
- MySQL Workbench 6.3 CE 不显示MySql、infomation_schema等数据库
MySQL Workbench 6.3 CE 不显示MySql.infomation_schema等数据库 通过修改偏好设置可显示: 1.Edit-->Preferences....-----& ...
- Excel数据导入到oracle
打开pl/sql,如图所示界面,点击菜单栏中的T00LS ODBC Imtorper,打开ODBC Importer选项框 在Data fromODBC页中选择需要导入的文件的格式 ...
- Java:Json与其他Java对象集合的转换
一.引入的jar包 json-lib-2.4-jdk15.jar 二.Json字符串转换为其他对象 1.对象==>json字符串 2.list和Map集合==>json字符串 3.Map集 ...
- jquery”ScriptResourceMapping
要“jquery”ScriptResourceMapping.请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping.”的解决办法. 1.先将aspnet.scri ...
- 图像显示 imshow()[OpenCV 笔记5]
void imshow(const string& winname InputArray mat); winname 窗口表识名称 mat 需要显示的图像.InputArray类型,声明如下 ...
- 读书笔记之 - javascript 设计模式 - 代理模式
代理(proxy)是一个对象,它可以用来控制对另一对象的访问.它与另外那个对象实现了同样的接口,并且会把任何方法调用传递给那个对象.另外那个对象通常称为本体.代理可以代替本体被实例化,并使其可被远程访 ...
- Listview控件实现已选择效果
Winform中用Listview控件实现更新点击选择后已选择效果,如图: 代码如下: private void frmSelect_Load(object sender, EventArgs e) ...
- gulp 之一 安装及简单CSS,JS文件合并压缩
最近研究了一下gulp构建工具,发现使用起来比grunt顺手一些.(个人感受),以下是grunt和gulp构建方式和原理: grunt 基于文件方式构建,会把文件先写到临时目录下,然后进行读文件,修改 ...
- mysql的字段类型范围必须重视起来
在MySQL数据类型中,例如INT,FLOAT,DOUBLE,CHAR,DECIMAL等,它们都有各自的作用,下面我们就主要来介绍一下MySQL数据类型中的DECIMAL类型的作用和用法. 一般赋予浮 ...