ews java 新建邮箱_通过EWS JAVA API订阅邮箱更新
0. EWS JAVA API是什么?
用来访问 Exchange Web 服务的 Java 客户端,说白了就是一套访问Exchange邮件服务的Java API库,利用它我们可以编写Java代码来动态创建和发送所需要的html邮件了。
1. 如何监听是否有新邮件?
第一步:建立一个Maven项目,加入以下依赖:
com.microsoft.ews-java-api
ews-java-api
2.0
第二步:通过使用EWS JAVA API访问EWS
要使用EWS JAVA API访问Exchange Web服务(EWS),只需要一个ExchangeService类的实例,如以下示例所示。
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
ExchangeCredentials credentials = new WebCredentials("emailAddress", "password");
service.setCredentials(credentials);
第三步:在EWS JAVA API中使用拉取通知,利用Timer循环运行:
例子里每30秒运行一次拉取操作
List folder = new ArrayList();
FolderId folder1 = new FolderId(WellKnownFolderName.Inbox);
folder.add(folder1);
final PullSubscription subscription = service.subscribeToPullNotifications(folder, 5, null,
EventType.NewMail, EventType.Created, EventType.Deleted);
Integer cacheTime = 1000 * 30;
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
try {
GetEventsResults events = subscription.getEvents();
System.out.println("####### EVENTS: " + events.getItemEvents().toString());
for (ItemEvent itemEvent : events.getItemEvents()) {
if (itemEvent.getEventType() == EventType.NewMail) {
EmailMessage message = EmailMessage.bind(service, itemEvent.getItemId());
System.out.println("######## NEW EMAIL MESSAGE IS: " + message.getSubject());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}, 0, cacheTime);
}
2. 运行效果
发了三封邮件,邮件的Subject分别是Re: Subject1;Re: Subject2;Re: Subject3
可以看到确实拉取到了新邮件内容,实际效果如下:
图片.png
ews java 新建邮箱_通过EWS JAVA API订阅邮箱更新相关推荐
- java hdfs 新建目录_如何用java在hdfs中创建一个新目录?
public static void main(String[] args) throws IOException, URISyntaxException { ????????????配置config ...
- java 02-cf_cf活动如何设置java环境变量_如何设置java环境变量
cf助手怎么连接wifi_连接无线网设置 对于刚刚学习java的win7用户来说,首先要学会安装jdk和配置java环境变量,这是学习java的唯一途径,否则编写的代码运行时会出现bug.关于这一点, ...
- java基础分享_一、java基础教程
1.java是一门比较纯粹的面向对象编程语言,所以java的所有代码都必须写在类的内部. 1.1 java的可执行文件后缀名是".java",例如HelloWorld.java,并 ...
- java comparator相等_详解Java中Comparable和Comparator接口的区别
详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...
- java设计模式并发_[高并发Java 七] 并发设计模式
[高并发Java 七] 并发设计模式 [高并发Java 七] 并发设计模式 为什么80%的码农都做不了架构师?>>> 在软件工程中,设计模式(design pattern)是对软件设 ...
- macbook配置java环境变量_如何安装Java和配置环境变量
本文是Java下载.安装.环境变量配置的具体步骤,关于环境变量的原理参阅: Java轻松入门经典教程-环境变量配置ke.qq.com Java年构架师技术栈/微服务/源码分析/分布式/高并发/性能优 ...
- java 线程 原子性_深入理解Java多线程与并发框架——Java内存模型与原子性、可见性、有序性...
欢迎关注专栏<Java架构筑基>--专注于Java技术的研究与分享!Java架构筑基zhuanlan.zhihu.comJava架构筑基--专注于Java技术的研究与分享! 后续文章将首 ...
- 马士兵 java 学习笔记_马士兵java教程笔记1
---恢复内容开始--- 前记 虽然已经是个研究生了,但是会的东西还是特别的少 甚至连java都不能说是很会 所以准备从现在开始能好好的学习java 变成java master 标识符 标识符是由字母 ...
- java课程任务_修真院java后端工程师学习课程--任务1(day three)
今天主要学习了数据库的连接,以及数据的增加查找删除更新,jdbc和Mysql这两种数据库的连接方式操作的语句并没有区别,mybatis把方法封装到了xml文件里面更加的简便和方便我们的操作. 话不多说 ...
- java 奇门遁甲代码_奇门遁甲之Transform API
函数插桩技术是可以提高开发者开发效能的有力工具.常用的组合是TransformApi+ ASM,在打包apk的过程中,对特定的类最修改,偷梁换柱,以满足我们的一些特殊需要,如全局监控网络.计算方法耗时 ...
最新文章
- day6 面向对象基础
- 视频直播网站开发千万不能忘的一个知识点
- RoadMap,走出自己的特色主义
- 避无可避:Mesos安全问题的几点思考
- C语言项目--教师信息/学生成绩管理系统
- Oracle--SQL技巧之二(多行记录用逗号拼接在一起)
- oracle 物理表,【查询Oracle表实际物理使用大小】
- IT资料,重磅来袭!
- linux服务器用哪个面板好,Linux服务器管理面板哪家比较好用?
- Logistic回归分类算法原理分析与代码实现
- 怎么使用阿里巴巴矢量图标
- 一款不错的图片自动向上翻滚的代码
- RS锁存器,D锁存器、D触发器简介
- 第四章不定积分(∫(e^x)sin²xdx)
- linux部署qq机器人记录
- 基于QT实现的图元拖曳、定点滚轮旋转和缩放
- 用pip给python安装matplotlib库-windows
- 配置普通链接二维码规则,一直提示校验文件检查失败
- J storm战队成员_J.Storm战队踢掉队内三号位Forev主动扣分
- ERROR:Session/line number was not unique in database. History logging moved to new session.