EWS JAVA API JAR包编译文档
EWS JAVA API JAR包编译文档    1
1    概述    2
1.1    EWS介绍    2
1.2    EWS编译目的    2
2    EWS编译步骤    2
2.1    安装编译工具    2
2.2    下载ews-java-api源码    3
2.3    编译ews-java-api源码    4
2.4    提取EWS相关JAR包    5
3    EWS API使用实例    6
4    参考链接    8

1 概述
1.1 EWS介绍
EWS 的全称是 Microsoft Exchange Web service,它是 Exchange 2007 以后推出的一个 web service,,它提供了访问 Exchange 资源的全新接口。
使用它可以避免使用.NET 基础类来使用SMTP 协议发送邮件和使用POP3 协议收邮件带来的大量代码工作。
EWS 是基于SOAP (Simple Object Access Protocol) 协议的,它的推出达到了以下几种目的:
提供EWS 资源的统一访问
提供与Outlook 一致的逻辑
Web Service 标准支持
远程访问
其中,EWS JAVA API提供java语言封装接口来访问Exchange Web服务(EWS)。
1.2 EWS编译目的
将EWSJAVA API 2.1最新源代码编译打包成单纯的JAR包,用于后续EWS开发使用。
JAR(Java Archive file),是Java一种文件封装,在开发时要引用通用类,打成包便于存放管理;JAR文件里包括很多个.class文件,每个文件中的功能与作用。
2 EWS编译步骤
2.1 安装编译工具
EWS编译,使用下载最新git/ maven等,其中maven安装时会有100多个依赖,其中包括J
DK(java-1.7.0-openjdk)。
java图书馆最新[root@localhost ~]# mkdir -p /home/EWSJavaAPI/
[root@localhost ~]# cd/home/EWSJavaAPI/
[root@localhostEWSJavaAPI]# yum install git
[root@localhostEWSJavaAPI]# yum install maven
安装完后查看版本信息
[root@localhostEWSJavaAPI]# git --version
git version 1.8.3.1
[root@localhostEWSJavaAPI]# mvn --version
Apache Maven 3.0.5 (Red Hat 3.0.5-16)
Maven home: /usr/share/maven
Java version: 1.7.0_101, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101-2.6.6.1.el7_2.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-229.el7.x86_64", arch: "amd64", family: "unix"
[root@localhost repository]# java -version
java version "1.7.0_101"
OpenJDK Runtime Environment (rhel-2.6.6.1.el7_2-x86_64 u101-b00)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
2.2 下载ews-java-api源码
从开源github/OfficeDev下载EWS的最新JAVA源码
[root@localhostEWSJavaAPI]# git clone git://github/OfficeDev/ews-java-api.git
Cloning into 'ews-java-api'...
remote: Counting objects: 18871, done.
remote: Total 18871 (delta 0), reused 0 (delta 0), pack-reused 18871
Receiving objects: 100% (18871/18871), 11.78 MiB | 19.00 KiB/s, done.
Resolving deltas: 100% (13929/13929), done.
跳转到Git工作目录,检查已下载源码
[root@localhostEWSJavaAPI]#cdews-java-api
[root@localhostews-java-api]# ls -al
2.3 编译ews-java-api源码
使用maven验证可用的单元测试和所有依赖的jar包,会在当前目录\target\下载测试代码并编译JAR包。
[root@localhostews-java-api]# mvn clean install
编译过程中出现测试文件OlsonTimeZoneTest.java编译错误,可能与时区有关。先注释掉,再次编译通过。
[root@localhostews-java-api]# mvn clean install
若显示“BUILD SUCCESS”,则编译成功,ews-java-api相关jar包在目录/root/.m2/。
2.4 提取EWS相关JAR包
编译后ews-java-api的相关jar包均在目录/root/.m2/repository/,里面含有所有jar包,包括ews-java-api.jar和其他依赖jar包。提取EWS主要或依赖jar包,如下:
3 EWS API使用实例
如下实例代码展示了获取指定Exchange邮箱账户里收件箱和草稿箱的前10封邮件的发件人和主题信息。
importjava.URI;
// EWS Managed API
hange.ExchangeService;
hange.dential.WebCredentials;
hange.dential.ExchangeCredentials;
hange.webservices.data.search.FindItemsResults;
hange.service.item.Item;
hange.webservices.data.search.ItemView;
hange.numeration.property.WellKnownFolderName;
hange.service.folder.Folder;
hange.service.item.EmailMessage;
//类定义结构体
classAccessInfo {
    //public String Domain;
    public String ServerAddress;
    public String EmailPassword;
    public String EmailAddress;
}
public class EwsFindMail {
    // 主入口main 使用Exchange协议发送
    public static void main(String[] args) throws Exception {
        AccessInfo info = new AccessInfo();
        info.ServerAddress = ""; // 192.168.28.184
        info.EmailAddress = "";
        info.EmailPassword = "q1w2E#R$";
        // info.ServerUrl = "/EWS/Exchange.asmx";
           
        try {
            query( info );
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
   
    /**
    * 使用Exchange协议查询邮件EWSJavaAPI @throws Exception
    */
    public static void query(AccessInfo info ) throws Exception {
        // 创建ExchangeService类的一个实例

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。