首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Exchange Web服务Java API下载附件?

使用Exchange Web服务Java API下载附件是一种通过Java代码与Microsoft Exchange Server进行交互的方法。Exchange Web服务(EWS)是一组基于Web服务的API,允许开发者访问Exchange Server中的数据和功能。

以下是使用Exchange Web服务Java API下载附件的步骤:

  1. 添加EWS Java API依赖:在项目的pom.xml文件中添加以下依赖:
代码语言:<dependency>
复制
   <groupId>com.microsoft.ews-java-api</groupId>
   <artifactId>ews-java-api</artifactId>
   <version>2.0</version>
</dependency>
  1. 创建Exchange服务器的连接:
代码语言:java
复制
import microsoft.exchange.webservices.data.ExchangeService;
import microsoft.exchange.webservices.data.WebCredentials;

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.setUrl(new URI("https://outlook.office365.com/EWS/Exchange.asmx"));
service.setCredentials(new WebCredentials("username", "password"));
  1. 编写下载附件的方法:
代码语言:java
复制
import microsoft.exchange.webservices.data.EmailMessage;
import microsoft.exchange.webservices.data.Folder;
import microsoft.exchange.webservices.data.Item;
import microsoft.exchange.webservices.data.PropertySet;
import microsoft.exchange.webservices.data.attachment.FileAttachment;

public static void downloadAttachments(ExchangeService service, Folder folder) throws Exception {
    for (Item item : folder.search()) {
        if (item instanceof EmailMessage) {
            EmailMessage email = (EmailMessage) item;
            email.load(new PropertySet(ItemSchema.Attachments));
            for (Attachment attachment : email.getAttachments()) {
                if (attachment instanceof FileAttachment) {
                    FileAttachment fileAttachment = (FileAttachment) attachment;
                    fileAttachment.load();
                    fileAttachment.loadContent();
                    String filePath = "C:\\Attachments\\" + fileAttachment.getName();
                    fileAttachment.save(filePath);
                }
            }
        }
    }
}
  1. 调用下载附件的方法:
代码语言:java
复制
Folder inbox = Folder.bind(service, WellKnownFolderName.Inbox);
downloadAttachments(service, inbox);

这样,你就可以使用Exchange Web服务Java API下载附件了。请注意,这个示例仅适用于Microsoft Exchange Server,而不是其他云计算平台。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用C#创建服务Web API

前言 C# Web API 是一种基于 .NET 平台(包括但不限于.NET Framework 和 .NET Core)构建 HTTP 服务的框架,用于创建 RESTful Web 服务。...活字格中的Web API 在活字格中,支持使用C#或VB.Net语言实现,可以运行在服务端,浏览器可以通过HTTP请求的方式调用服务端提供的Web API。...(选择自己喜欢的即可); 依赖环境:系统需要安装Dot Net 6.0运行环境(下载请戳); 使用语言:C#或VB.Net; 其他:C#基础知识及编程能力。...创建服务Web API 1、打开编译器,这里使用的是IntelliJ IDEA Rider,选择Class Library(类库),Framework选择net6.0。...编写服务Web API 为了说明清楚,这里列举一个示例,示例的功能为用Web API可以接收标准化JSON数据。

48210

Web开发】使用Apache搭建Http下载服务

前言 前段时间因为某些原因,几大主流网盘都无法使用,正好手头上有台闲置的云服务器,于是就想来搭建一个文件下载服务,用户只需通过一个链接就能下载软件。...(注:如果是云服务器,还需要在安全组开放80和443端口号) 同时,也可以通过域名/文件名的方式直接给别人一个链接,进行下载。 如果有一台单独的服务器用于临时文件的分享,这样很快就搞定了。...:1024 设置访问限制 个人服务器很容易遭到别人的攻击,如果有人开好多线程来反复请求下载,这就将导致流量带宽消耗巨大,甚至会让服务器宕机。...因此,长期提供下载服务服务器必须设置访问限制。 配置文件参数详解 访问限制主要涉及到/etc/apache2/apache2.conf这个配置文件,首先来对该文件进行解读。...:服务器仅在符号连接与其目的目录或文件的拥有者具有相同的uid时才使用它。

2.8K21
  • 使用java自制简易web服务

    这个问题其实困惑了我好久好久,不过当时由于水平有限,以及网上的课程大多都是教你怎么搭建web服务器,怎么编写servlet,很少有人会去探究web服务器究竟是怎么运行起来的,在输入命令背后又进行了那些操作...web服务器实际上可以看成是我们javaweb应用的容器,我们编好了代码就放到web服务器里运行,可以简单理解成web服务器+业务代码=完整的web服务web服务器起到了连接客户端和服务端的目的,不管公司的业务是什么...HTTP协议上图中,我们认为客户端和服务端是使用HTTP协议进行通信的,事实上也是如此,不过这不是固定的,你也可以定义一个通信协议,只要有人愿意使用你定义的通信协议进行通信就行。...当然,如果你用的是java这种更加高级的编程语言,那么你需要调用的api就更少了,因为很多细节已经帮你封装好了。我们要写web服务器的话,就要能相应客户端发过来的HTTP请求信息。...结语我们只是做了一个非常非常简单的web服务器,可以响应浏览器的简单请求,这篇文章的目的只是介绍一下web服务器的基本原理。 我把代码都放到gitee上了,如果有需要的话自行下载就行。

    1.3K30

    Install Office Onlin

    通过安装 Office Online Server 使用户可以在 Exchange Outlook 网页版中查看和编辑受支持的文件附件,而无需先下载这些附件,也无需在本地安装相关程序。...1.环境:三台服务器 域:sen.hi.cn 1)DC: Sen-dc01.sen.hi.cn OS: Windows Server 2016 RTM 角色:DC,CA, 2)Exchange: Sen-Ex01...接下来到Exchange 配置。 6.在邮箱服务器级别配置 Office Online Server 终结点: 打开 Exchange 命令行管理程序并运行以下命令。...使用您自己的服务器名称和 URL 替换示例服务器名称和 URL: Set-MailboxServer sen-ex01 –WacDiscoveryEndpoint  “https://oos.sen.hi.cn...接下来,我们来验证一下,Outlook web APP上是否可以查看和编辑: 在没有OOS时,附件只能下载 ,无法查看和编辑: ? 在启用OOS后: ? ? ?

    1.2K20

    Web项目中愉快的使用Java8日期API

    Java8发布之前繁琐的日期API使我们不得不借助第三方的Jar包Joda来对日期进行操作,而Java8的日期java.time包则是由Joda的作者来进行操刀,我相信不管是因为Java8...性能的提升、函数式编程、流、新的日期API的引入、还是开发者对新兴技术的热情拥抱,我们的新项目基本都是基于Java8开发了,而且因为Java良好的向后兼容性,我们老的项目升级为Java8也并非难事。...为了兼容历史版本,新的日期API没有选择直接在旧的Date上直接动刀,而是选择增加了LocalDate、LocalTime、LocalDateTime等新的类,并且提供了Date和LocalDateTime...提供支持,只需要在日期字段上加注解 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Mybatis mybatis中数据库字段对应的实体类时间也是默认使用.../version> 引入包之后不需要做任何改变,实体类为LocalDateTime等的字段就可以识别 SpringDataJPA Spring的做法跟Mybatis的类似,使用一个

    1K50

    Spring的学习与实战(续)

    并了解了Spring与应用的集成的基本概念,实现集成REST API服务。 本文将继续深入Spring的集成应用,实现邮件发送及集成消息队列的功能。...业务逻辑 /** * 基于SpringMVC框架开发web应用--用户服务类 * * @author zhuhuix * @date 2020-07-03 * @date 2020-07-04...更改电子邮件内容及重新排列UI时,需要编写Java代码,重新编译,重新部署。...概念 描述 发送者 消息的生产者,也可以是一个向交换器发布消息的客户端应用程序 接收者 消息的消费者,也可以认为是向消息队列接收消息的服务端程序 Exchange(交换器) 用来接收发送者发送的消息并将这些消息路由给服务器中的队列...修改业务逻辑,实现发送消息功能 /** * 基于SpringMVC框架开发web应用--用户服务类 * * @author zhuhuix * @date 2020-07-03 * @date

    78720

    红队和蓝队都关心的东西在这儿了

    ,结合 "系统管理"-》"附件管理"-》"添加存储目录",修改附件上传后保存的路径,最终导致getshell。...具体来说,与每次软件安装都会产生随机密钥不同,所有Exchange服务器在安装后的web.config文件文件中都拥有相同的的validationKey和decryptionKey。...攻击者可以在Exchange控制面板中web应用上执行任意.net代码。 b 影响版本 exchange 2010、2013、2016、2019全版本通杀。...恶意的RMI服务器可能会响应任意对象,然后使用Java的ObjectInputStream在Solr端反序列化该对象,这被认为是不安全的。可以使用ysererial工具利用这种类型的漏洞。...,也是世界上第一个成功商业化的J2EE应用服务器,在 Java 应用服务器中有非常广泛的部署和应用。

    1.9K20

    Spring和RabbitMQ消息队列(AMQP)整合详解

    Jms JMS即Java消息服务Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信...Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。 AMQP AMQP是一种协议,更准确的说是一种binary wire-level protocol(链接协议)。...=spring.exchange.direct rabbit.direct.key=spring.key.direct 3.2 发送方(生产者) 我们使用web服务进行调用发送消息。...=spring.exchange.fanout 4.2 发送方(生产者) 我们使用web服务进行调用发送消息。...=spring.exchange.topic rabbit.topic.key=spring.key.topic 5.2 发送方(生产者) 我们使用web服务进行调用发送消息。

    2K61

    Java 进阶篇】Nginx 使用详解:搭建高性能的 Web 服务

    在互联网的世界里,Web 服务器是我们访问网站、获取信息的入口。Nginx(发音"engine x")作为一款轻量级、高性能的 Web 服务器和反向代理服务器,因其出色的性能和可扩展性而备受推崇。...本文将围绕 Nginx 的使用进行详解,让你轻松掌握如何搭建高性能的 Web 服务器。 什么是 Nginx? Nginx 是一款开源的、高性能的 HTTP 服务器和反向代理服务器。...Nginx 的设计目标是提供高性能、高并发、低内存消耗的服务。它可以作为独立的 Web 服务使用,也可以作为反向代理服务器配合其他后端服务使用。 Nginx 的优势 1....低内存消耗 相比于传统的 Web 服务器,Nginx 具有更低的内存消耗。这使得它在资源受限的环境中更为适用,可以运行在一些配置较低的服务器上。 3....希望通过这份详解,你能更加深入地理解和使用 Nginx,为你的 Web 服务器搭建提供一些建议和指导。

    55420

    Python优雅的操作Exchange邮箱——exchangelib模块使用介绍

    最近想把公司邮箱的附件下载下来,附件好多都是我整理的报告和文档,一个个去下载明显太傻,碰到这种问题第一个想到的就是Python啦 需求很简单,只需要登录自己的Exchange邮箱,然后遍历所有邮件,有附件的就下载下来...可是最主要的一步却难倒我了,连接Exchange邮箱比较麻烦,最后找到了exchangelib这个模块。 这个模块网上的教程不多,所以这里记录下使用过程。...account = Account('邮箱', credentials=credentials, autodiscover=True) 如果你想容错,比如获取大量邮件时可能会超时之类的,像我的需求需要下载大量附件时...,我们可以创建为服务账户: credentials = ServiceAccount(username='域名\用户名', password='密码') account = Account('邮箱',...attachment.item, Message): print(attachment.item.subject, attachment.item.body) 我的需求 最后贴下我的需求,下载我的邮箱中指定文件夹下所有的附件

    5.1K20
    领券