`
uule
  • 浏览: 6359048 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

java调用outlook

 
阅读更多
package test;
import java.io.BufferedReader;

public class TestMail {

	public static void main(String[] args) throws Exception {
		/*String body = "<div style='color:red;'>This is a Test !</div>";
		Runtime.getRuntime().exec("D:\\Program Files\\Microsoft Office\\Office14\\OUTLOOK.EXE  mailto:KO@techson.com.hk?subject=Chinese New Year backup arrangement" +
				"&cc=Ko@techson.com.hk&body="+body);*/
		
		//System.out.println(System.getProperty("java.library.path"));  
		
		   ActiveXComponent axOutlook = new ActiveXComponent("Outlook.Application");  
		   //Dispatch ds = axOutlook.getObject();
		  /* Dispatch namespace = Dispatch.call(axOutlook, "GetNamespace", "MAPI").toDispatch() ;
		   String path = new File("F:/test.htm").getAbsolutePath(); 
		   Dispatch mailItem = Dispatch.call(namespace, "OpenSharedItem", path).toDispatch(); */
		   
		   
		   Dispatch mailItem = Dispatch.call(axOutlook, "CreateItem", 0).getDispatch();  
		   
		   //Dispatch mailItem = Dispatch.call(axOutlook, "Open", "F:/test.htm").toDispatch();
		  // Dispatch body = Dispatch.call(mailItem, "Body").getDispatch();;  
		  // Dispatch.call(body, "Copy");
		   
		   Dispatch inspector = Dispatch.get(mailItem, "GetInspector").getDispatch();

		   //收件人  
		   Dispatch recipients = Dispatch.call(mailItem, "Recipients").getDispatch();  
		   Dispatch.call(recipients, "Add" , "crycbj@163.com");  
		   //邮件主题  
		   Dispatch.put(mailItem, "Subject", "Test5!");  
		   Dispatch.put(mailItem, "CC", "1@qq.com");  
		   //Dispatch.put(mailItem, "CC", "cry@163.com");  
		   //Dispatch.put(mailItem, "ReadReceiptRequested", "false"); 
		   
		   String body = "<html><body><div style='color:red;'>This is a Test !</div></body></html>";
		   //Dispatch.put(mailItem, "HTMLBody", body); 
		   
		  // File file = new File("C:/test.htm");
//		   FileOutputStream f = new FileOutputStream("F:/test.htm");
//		   f.write(body.getBytes());
//		   f.close();
		   
		   BufferedReader bf = new BufferedReader(new FileReader(new File("F:/Ro.htm")));
		   String html = "";
		   String str = "";
		   while( (str=bf.readLine()) != null){
			   html += str;
		   }
		   Dispatch.put(mailItem, "HTMLBody", html); 
		   
		   //Dispatch bodyDis = Dispatch.get(mailItem, "Body").toDispatch();  
		   //Dispatch.call(bodyDis, "Add" , "F:/test.htm");  
		   //Dispatch.put(mailItem, "Body", new Variant("F:/test.htm"));  
		   
		   //Dispatch.put(mailItem, "Body", body);  
		   //Dispatch.call(mailItem, "InsertAfter",body );//插入一个段落
		   
		   //Dispatch selection = Dispatch.get(axOutlook, "Selection").toDispatch();
		   
		   //Dispatch inHtmleditor = Dispatch.call(inspector, "HTMLEditor").getDispatch();
		  // Dispatch.call(inHtmleditor, "Paste").getDispatch();  
		   //Dispatch.invoke(inHtmleditor, "Paste", Dispatch.Method, new Object[]{false}, new Variant(false));
		   
		   //附件  
//			   Dispatch attachments = Dispatch.call(mailItem, "Attachments").getDispatch();  
//			   Dispatch.call(attachments, "Add" , "D:\\20110127.txt");  
//			   Dispatch.call(attachments, "Add" , "D:\\20110128.txt");  
		   //显示新邮件窗口  
		   
		   Dispatch.call(mailItem, "Display");  
		   Dispatch.call(mailItem, "Send");  
		   
		   
	}
}

 调用Word:

http://www.360doc.com/content/07/0330/15/23378_421609.shtml

http://www.360doc.com/content/11/0130/19/3947093_90007570.shtml

http://www.th7.cn/Program/java/2011/10/12/43708.shtml

 

基本语法:

http://hi.baidu.com/meng_fy/blog/item/d7186116a409ae17972b43df.html

http://java.chinaitlab.com/tools/769980.html

http://www.ibm.com/developerworks/cn/java/j-lo-jacob/

 

package test;

import java.io.File;

public class TestMail2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ActiveXComponent xl = new ActiveXComponent("Outlook.Application");

		Dispatch explorer = Dispatch.get(xl,"ActiveExplorer").toDispatch();
		Dispatch selection = Dispatch.get(explorer, "Selection").toDispatch();
		Variant count = Dispatch.get(selection, "Count");

		for (int mailIndex = 1; mailIndex <= count.toInt(); mailIndex++ ) {
			Dispatch mailItem = Dispatch.call(selection, "Item", new Variant(mailIndex)).toDispatch();

			Variant senderName = Dispatch.get(mailItem, "SenderName");
			Variant subject = Dispatch.get(mailItem, "Subject");
			Variant body = Dispatch.get(mailItem, "HTMLBody");
	
			String emailFileName = subject.toString() +".txt";	
			
			try {
				File email = new File(emailFileName);
				PrintWriter writer = new PrintWriter( new FileWriter(email) );
				writer.println("From: "+ senderName );
				writer.println("Subject: "+ subject);
				writer.println("");
				writer.print( body );
				writer.close();
			}
			catch (IOException e) {
				System.out.println("IOException writing e-mail with subject: '"+ subject +"'");
				continue;
			}

			Dispatch attachments = Dispatch.get(mailItem, "Attachments").toDispatch();
			Variant attachmentCount = Dispatch.get(attachments, "Count");

			if ( attachmentCount.toInt() > 0 ) {
				for( int attachmentIndex = 1; attachmentIndex<=attachmentCount.toInt(); attachmentIndex++ ) {
					Dispatch attachment = Dispatch.call(attachments, "Item", new Variant(attachmentIndex)).toDispatch();
					Variant fileNameVariant = Dispatch.get(attachment, "FileName");
					String fileName = fileNameVariant.toString();
			
					Variant saveResult = Dispatch.call(attachment, "SaveAsFile", "F:\\"+fileName);
				}
			}
		
		}
	}

}

 

package test;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;

public class TestMail3 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		final int olFolderContacts = 10;

		ActiveXComponent ol = new ActiveXComponent("Outlook.Application");
		
		Dispatch olo = ol.getObject();
		Dispatch myNamespace = Dispatch.call(olo, "GetNamespace","MAPI").toDispatch();
		Dispatch myFolder = Dispatch.call(myNamespace, "GetDefaultFolder",new Integer(olFolderContacts)).toDispatch();

		//nächste zeile Fehlermeldung

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

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

		for (int i = 1; i <= count; i++) {
			Dispatch item;
			item = Dispatch.call(items, "Item", new Integer(i)).toDispatch();
	
			String fullName = Dispatch.get(item, "Fullname").toString();
			String emailAddress = Dispatch.get(item, "Email1Address").toString();
			String addressStreet = Dispatch.get(item, "BusinessAddressStreet").toString();
			String addressCity = Dispatch.get(item, "BusinessAddressCity").toString();
			String addressCountry = Dispatch.get(item, "BusinessAddressCountry").toString();
			String addressPostalCode = Dispatch.get(item,"BusinessAddressPostalCode").toString();
			String addressState = Dispatch.get(item, "BusinessAddressState").toString();
			String title = Dispatch.get(item, "Title").toString();
			String phone = Dispatch.get(item, "BusinessTelephoneNumber").toString();
			String fax = Dispatch.get(item, "BusinessFaxNumber").toString();
	
			printField("", fullName);
			printField("", title);
			printField("", addressStreet);
			printField("", addressCity);
			printField("", addressState);
			printField("", addressPostalCode);
			printField("", addressCountry);
			printField("Tel:", phone);
			printField("Fax:", fax);
			printField("Email:", emailAddress);
	
			System.out.println();
		}
	}

		public static void printField(String label, String value) {
			if (value.length() != 0) {
				System.out.println(label + " " + value);
			}
		}

}

 第二例地址:

http://www.velocityreviews.com/forums/t147294-java-libray-to-extract-email-contact-only-from-outlook-file.html

 

官网问题搜索:

http://sourceforge.net/projects/jacob-project/forums/forum/375946/topic/3734426/index/page/1

http://sourceforge.net/search/?group_id=109543&type_of_search=forums&group_forum_id=375946&words=outlook&search=Search

。。。

 

 

分享到:
评论
1 楼 HN_WindStorm 2011-12-28  
thank you so much .

相关推荐

    outlook带会议提醒javaDemo

    2. JACOB库文件(如jacob.jar):这是Java调用COM对象所需的库文件,需要在项目的类路径中添加。 3. 构建脚本(如build.xml):如果是使用Ant或Maven构建项目,这里可能会有构建脚本来编译和打包Java代码。 4. 配置...

    Java查询OutLook邮件代码

    本篇将详细介绍如何使用Java来查询OutLook邮件。 首先,我们需要理解的是,Outlook邮件主要存储在Microsoft Exchange Server或者使用IMAP/POP3协议访问的邮箱中。Java通过JavaMail API与这些服务器进行通信。...

    Java发送outlook邮件

    总之,Java发送Outlook邮件主要涉及JavaMail API的使用,包括配置SMTP服务器、创建邮件对象、设置邮件属性、添加附件和发送邮件。对于Notes邮件,可能需要使用IBM Domino Java API。理解这些概念和技术是Java开发者...

    java发送OutLook会议邮件

    Java发送Outlook会议邮件是一种常见的任务,特别是在自动化工作流程或者集成系统中。下面将详细介绍如何使用Java来实现这个功能。 首先,我们需要理解Outlook会议邮件实际上是一种特殊的邮件,它包含了会议的时间、...

    java解析outlook源码

    本文将深入探讨如何使用Java解析Outlook源码,以及在这个过程中涉及的关键知识点。 首先,我们需要理解Outlook的数据存储格式。Outlook通常使用两种主要格式存储邮件和其他数据:PST(Personal Storage Table)和...

    Java 实现Outlook界面效果

    在Java编程领域,实现类似Outlook的界面效果是一项常见的需求,尤其在开发企业级应用时。Outlook的界面设计简洁而高效,具有良好的用户交互体验。本教程将深入探讨如何利用Java技术,尤其是JOutlook库,来创建一个...

    l2fprod-common-6.9.1-20060906.zip_expandbar_java swing outlook_j

    总的来说,这个压缩包为Java Swing开发者提供了一个强大且易于使用的工具,使他们能够在Java应用程序中实现类似Outlook的ExpandBar效果。有了源码、文档和API说明的支持,开发者可以更加灵活地设计和定制自己的界面...

    防outlook风格的管理系统

    Outlook的用户友好界面和组织结构被融入到这款Java系统中,使得用户在使用时能感受到熟悉的操作体验。 免费开源是该项目的一大亮点,这意味着开发者可以自由地访问和使用源代码,根据自己的需求进行定制和扩展。...

    解决outlook2016会议通知在outlook2010中不显示图片和表格问题.docx

    当这些邮件被发送到仍然使用Outlook 2010的用户时,由于Outlook 2010更倾向于使用RTF(Rich Text Format)格式,它可能无法解析HTML邮件中的图片和表格,导致它们无法正常显示。 解决这个问题的方法是,发送者需要...

    outlook-message-parser:用于Outlook消息(.msg文件)的Java解析器

    Outlook Message Parser是一个小型的开源Java库,用于解析Outlook .msg文件。 &lt;groupId&gt;org.simplejavamail &lt;artifactId&gt;outlook-message-parser &lt;version&gt;1.7.9 Outlook Message Parser是的延续(或者,如果...

    jacob-java调用word

    首先,JACOB允许Java调用Word中的宏。在使用JACOB调用Word宏之前,可以通过Visual Basic(VB)编写一个自动化的脚本来调用宏,并通过JACOB以Java代码实现相似的功能。具体来说,VB代码使用CreateObject创建Word应用...

    Outlook式样界面菜单和页面控制

    Outlook式样界面菜单和页面控制是软件开发中一种常见的设计模式,特别是在Windows应用程序...通过理解和实现这些文件中的代码,开发者可以构建出一个功能强大且易于使用的Outlook式样界面,为用户提供流畅的工作体验。

    java Exchange收发邮件加附件

    EWS是Exchange Server提供的一种API,它提供了对邮件、日历、联系人等数据的访问接口,使得开发者可以在不使用Outlook的情况下,实现邮件系统功能的集成。Java中,我们可以使用`ews-java-api`库来与EWS进行交互。 ...

    用outlook收MSN邮箱插件

    以下是使用Outlook Connector的一些关键功能和优势: 1. **同步邮件**:Outlook Connector可以实时同步你的MSN和Hotmail邮箱,确保你在Outlook中看到的邮件是最新的。 2. **离线访问**:有了这个插件,即使没有...

    Office365-Java-Connect:从 Java 应用程序到 Office 365 和 Outlook API 的身份验证示例

    此示例使用获取验证令牌,然后使用它们调用特定的 API。 详细地说,该示例执行以下操作: 创建访问和刷新令牌以调用 Azure AD Graph API。 调用 Azure AD Graph API 以获取在 Azure AD 中注册的用户列表。 创建...

    解析msg的java类库msgparser-1.12.zip

    在Java开发中,有时我们需要处理Microsoft Outlook的MSG文件,这些文件通常包含电子邮件、日历事件、联系人等信息。为了方便地在Java程序中解析和操作MSG文件,开发者可以使用第三方库,例如“msgparser”。这是一个...

    Java 程序 Exchange协议发送,收,查询邮件

    本文将深入探讨如何使用Java通过Exchange协议来实现这些功能,以及涉及的关键技术和库。 首先,Exchange Web Services(EWS)是Microsoft Exchange Server提供的一种基于HTTP的API,允许开发者访问Exchange Server...

    outlook(类QQ菜单)

    Outlook(类QQ菜单)是一种设计模式,它借鉴了QQ应用程序中的菜单结构,并在其他软件或应用程序中实现类似的用户界面。这种菜单风格通常提供一种简洁、直观且易于使用的交互方式,使得用户能够快速访问功能和设置。...

    漂亮的通用后台有outlook菜单类

    在开发这样的后台系统时,开发者可能会使用前端框架(如Bootstrap、Element UI、Ant Design等)提供的组件库,或者自定义CSS样式来实现Outlook风格的菜单。同时,为了实现菜单的动态加载和折叠效果,可能需要结合...

    Java微软邮箱使用MicrosoftGraph协议发送邮件

    Java微软邮箱使用MicrosoftGraph协议发送邮件

Global site tag (gtag.js) - Google Analytics