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 ...
随机推荐
- AngularJS Filter用法详解【转+实际测试】 格式化货币
AngularJS内建了一些常用的Filter,我们一一来看一下. currencyFilter(currency): 用途:格式化货币 方法原型: function(amount, currency ...
- 前台研发工具Sublime
沟通交流群 [极客Online : 546653637] 欢迎您! 今天一个朋友@我,问有没有好的IDE推荐一下,其实现在有很多文本工具可供选择,像Nodepad++.Editplus之类的,之前我使 ...
- 浅谈C#关于AOP编程的学习总结
难得在这样一个节日里给写出一篇博客,却没有佳人相约,没办法,这就是一个程(dan)序(shen)猿(gou)的真实生活情景,每天除了coding还是coding.唉..污染各位看官的眼了.好吧,进入正 ...
- [XML] ResourceManager一个操作Resource的帮助类 (转载)
点击下载 ResourceManager.zip /// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更 ...
- SQL使用存儲過程訪問不同服務器
用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB', 'sql服 ...
- 深入了解shell
接触linux很久了,但一直没有总线,老是尝鲜,什么都想学,但好多没多没有记住,特的总结了一些基本的东西,查了很多资料,不完善的方面我会慢慢的更新…… 操作系统与外部最主要的接口就叫做shell. ...
- linux下安装mysql5.6(官方文档)
Using the MySQL Yum Repository / Installing MySQL on Linux Using the MySQL Yum Repository Chapter ...
- 虚拟机 Linux 系统增加换页空间
想在虚拟机里面安装oracle10g,发现默认的swap交换空间不满足最低要求,因为我分配的物理内存是1G,那么就按照要求需要2G的swap交换空间,默认只有1G的交换空间.添加swap交换空间的步骤 ...
- 让QMainWindow也表现出QDialog的exec函数的特征
前几天在做毕业设计项目的时候,使用的PyQt4,想实现这么样一个功能: 场景描述:主窗口a(QMainWindow类型)和主窗口b(QMainWindow),b是通过a窗口中某一个按钮弹出来的. 功能 ...
- js 组件的写法
var Test1 = function(){ var name = ""; this.setName = function(username){ name = username; ...