Jacob 操作 outlook 发邮件 遍历文件夹邮件 移动邮件

注意:以下操作前提是已配置好了jacob环境,包括注册.dll文件。

发送邮件

{

ActiveXComponent axOutlook = new ActiveXComponent("Outlook.Application");    

Dispatch mailItem = Dispatch.call(axOutlook, "CreateItem", 0).getDispatch();    

                        

//设置收件人   ,Add是固定用法, Recipients---收件人,Add---地址

Dispatch recipients = Dispatch.call(mailItem, "Recipients").getDispatch(); 
Dispatch.call(recipients, "Add" , "12345678@qq.com");
    

//邮件主题   Subject---主题 

Dispatch.put(mailItem, "Subject", "测试邮件");
               

//添加抄送人   此处只能添加一个,多于一个的目前还未知,如有知道的欢迎补充,谢谢!
Dispatch.put(mailItem, "CC","87654321@qq.com");
                        

//代表某个发件人发送邮件
Dispatch.put(mailItem, "SentOnBehalfOfName","9888888@qq.com");
                        

//添加邮件内容 body, 如果不熟悉HTML的,可以用在线网页编辑器在线编辑https://zaixianwangyebianji.51240.com/

String html=" ";
Dispatch.put(mailItem, "HTMLBody", html);   
                        

//设置在不在新的邮件界面显示    
Dispatch.call(mailItem, "Display");  

//发送  
Dispatch.call(mailItem, "Send");  

}


遍历并移动 outlook 中的邮件

{

final int olFolderInbox = 6;   // 注意这里的参数:  3代表: 已删除     4代表:  发件箱     5代表: 已发送      6代表:  收件箱


ActiveXComponent outlook = new ActiveXComponent("Outlook.Application");

//获得默认的主文件夹

Dispatch myNamespace = Dispatch.call(outlook, "GetNamespace", "MAPI")
    .toDispatch();
   

Dispatch Folder = Dispatch.call(myNamespace, "GetDefaultFolder",
          new Integer(olFolderInbox)).toDispatch();
   
//获取主文件夹下 “收件箱” 下的自定义文件夹,这里的test1 和 test 2是自定义的

Dispatch myFolder = Dispatch.call(Folder, "Folders","test1").toDispatch();

Dispatch buFolder = Dispatch.call(Folder, "Folders","test2").toDispatch();


   

//获得文件夹下所有邮件的集合
   

Dispatch items = Dispatch.get(myFolder, "Items").toDispatch();
   

int count = Dispatch.call(items, "Count").toInt();

//遍历所有邮件,并检查符合标准的邮件

for (int x = 1; x <= count; x++)

 

//注意此处,在后面每Move一个邮件之后原 items 集合大小会跟着改变
int index= count-x+1;

//读取邮件
Dispatch sMail = Dispatch.call(items, "Item",new Integer(index)).toDispatch();

//获取邮件中的主题

String subject = Dispatch.get(items, "Subject").toDispatch();

//获取邮件中的内容

String htmlBody = Dispatch.get(items, "HTMLBody").toDispatch();

// 将获取的邮件移到指定的文件夹
Dispatch.call(sMail, "Move",  buFolder);
  
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值