文档章节

通过 EWS JAVA API读取exchange邮件

YOTOO
 YOTOO
发布于 2014/07/08 17:47
字数 413
阅读 6876
收藏 4

第一步,下载EWS JAVA API包

从如下路径下载EWS API包:http://code.msdn.microsoft.com/Exchange-EWS-Java-API-12-1a5a1143

第二步,下载依赖包

下载如下依赖包:

- Apache Commons HttpClient 3.1 (commons-httpclient-3.1.jar)
- Apache Commons Codec 1.4 (commons-codec-1.4.jar)
- Apache Commons Logging 1.1.1 (commons-codec-1.4.jar)
- JCIFS 1.3.15 (jcifs-1.3.15.jar)

也可以通过maven下载,EWSJavaAPI的jar包需要先手动安装,POM.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.yotoo</groupId>
	<artifactId>ReadEmail</artifactId>
	<packaging>war</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>ReadEmail</name>
	<url>http://maven.apache.org</url>
	
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<jdk.version>1.6</jdk.version>
		<mail.version>1.4.7</mail.version>
		<jsoup.version>1.7.3</jsoup.version>
		<junit.version>3.8.1</junit.version>
	</properties>	
	
	<dependencies>
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>${mail.version}</version>
			<scope>compile</scope>
		</dependency>
		<!-- jsoup HTML parser library -->
		<dependency>
			<groupId>org.jsoup</groupId>
			<artifactId>jsoup</artifactId>
			<version>${jsoup.version}</version>
		</dependency>
		
		<!-- Compiling the EWS Java API -->
		<dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>3.1</version>
		</dependency>		
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.4</version>
		</dependency>
		<dependency>
			<groupId>jcifs</groupId>
			<artifactId>jcifs</artifactId>
			<version>1.3.17</version>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.1</version>
		</dependency>
		<dependency>
			<groupId>microsoft.exchange.webservices</groupId>
			<artifactId>EWSJavaAPI</artifactId>
			<version>1.2</version>
		</dependency>		
		<!-- Compiling the EWS Java API -->
		
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<finalName>ReadEmail</finalName>
	</build>
</project>
第三步,示例代码

ReadMailViaEWS.java

public class ReadMailViaEWS {

	public static void main(String[] args) throws Exception {
		ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
		ExchangeCredentials credentials = new WebCredentials("用户名", "密码", "域");
		service.setCredentials(credentials);
		service.setUrl(new URI("https://"+"邮箱服务器地址"+"/EWS/Exchange.asmx"));
		// Bind to the Inbox.
		Folder inbox = Folder.bind(service, WellKnownFolderName.Inbox);
		System.out.println(inbox.getDisplayName());
		ItemView view = new ItemView(10);
		FindItemsResults<Item> findResults = service.findItems(inbox.getId(), view);
		for (Item item : findResults.getItems()) {
			EmailMessage message = EmailMessage.bind(service, item.getId());
			System.out.println(message.getSender());
			System.out.println("Sub -->" + item.getSubject());
		}

	}

}

© 著作权归作者所有

YOTOO
粉丝 2
博文 18
码字总数 11119
作品 0
闵行
项目经理
私信 提问
加载中

评论(2)

溺水的猪
溺水的猪
你好 我想知道如何获取邮件内容 一调用api获取内容 总是提示

microsoft.exchange.webservices.data.core.exception.service.local.ServiceObjectPropertyException: You must load or assign this property before you can read its value.
千与千寻36963
千与千寻36963
我用的你代码连接邮箱,为什么连接报错,请问下是什么原因呢。
ews-java-api-2.0 访问SSL异常

测试ews-java-api是否能和exchange服务通信,代码如下: ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010); ExchangeCredentials credentials = new WebCreden......

elewyeen
2015/06/16
2.4K
4
Aspose.Email for Java 5.7.0 发布

Aspose.Email for Java 5.7.0 发布,该版本修复了一些bug,带来了性能和功能的提升。 性能提升 从 HTML 文件创建电子邮件消息 More Info 支持添加标题到 EWS 请求 More Info 支持 IMAP Idle ...

oschina
2015/09/16
1K
3
Aspose.Email for Java 2.4.0 发布

Aspose.Email for Java 2.4.0 发布,该版本修复了 PST 操作相关的重要 bug,包括 PST 之间复制 MapiMessage 的问题以及从 PST 中抽取 MapiCalendar 条目的问题;修复了附件处理崩溃的问题以及...

oschina
2012/12/19
522
0
通过Powershell调研EWS API删除特定主题邮件操作手册

今天给大家分享一个之前做过的案例,通过Powershell调用Exchange ews API去上次特定主题邮件。【我测试的环境Exchange版本为Exchange 2016】 具体的操作过程如下: 1. 说明 通过EWS API去删除...

jialt
2018/07/17
0
0
java读取Exchange邮件

@YOTOO 你好,想跟您请教个问题:您好,请问您知不知道如何用java以管理员权限得到Exchange所有用户下的邮件内容呢?或者以某种方式将Exchange下的所有用户邮件全都扫下来? 谢谢您!...

xiaolanglong
2015/07/29
166
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
61
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
29
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
66
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
59
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
62
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部