摘要

在使用拉通知的方式监听exchange邮件的时候,无法监听到收件箱删除的邮件。最后通过调试发现,在删除收件箱邮件的时候,是将收件箱的邮件移动到了deleted item文件夹,会触发Moved事件,知道删除收件箱的过程,那么就好做了。

解决办法

关于拉通知的demo可以参考上篇文章的代码

EWS 通过SubscribeToPullNotifications订阅Exchange新邮件提醒

关键代码块

                this._pullsubscription = this._service.SubscribeToPullNotifications(folderIds, , null,
EventType.NewMail, EventType.Moved);
 IEnumerable<ItemEvent> itemEvents = _pullsubscription.GetEvents().ItemEvents;
foreach (ItemEvent itemEvent in itemEvents)
{
if (itemEvent != null)
{
string uniqueId = itemEvent.ItemId == null ? string.Empty : itemEvent.ItemId.UniqueId; if (!string.IsNullOrEmpty(uniqueId))
{
Item item = Item.Bind(this._service, new ItemId(uniqueId));
Console.WriteLine(itemEvent.EventType.ToString());
switch (itemEvent.EventType)
{
case EventType.Moved:
Console.WriteLine(item.Subject);
break;
case EventType.NewMail:
Console.WriteLine(item.Subject);
break;
default:
break;
}
} } }

参考资料

https://msdn.microsoft.com/zh-cn/library/office/dn458791(v=exchg.150).aspx

https://msdn.microsoft.com/en-us/library/office/dn458790(v=exchg.150).aspx

https://code.msdn.microsoft.com/exchange/exchange-2013-set-pull-14c8360b

EWS 通过SubscribeToPullNotifications订阅Exchange删除邮件的更多相关文章

  1. EWS 通过SubscribeToPullNotifications订阅Exchange新邮件提醒

    摘要 在ews中提供了一种拉通知的方式获取服务端邮件的操作,通过这种方式客户端可以订阅该通知,在邮箱有变化的时候,可以收到通知. 工作方式 EWS 通知是在订阅的基础上处理的.通常是一个订阅每个邮箱, ...

  2. [EWS]如何: 通过使用 Exchange 中的 EWS 流有关邮箱事件的通知

    摘要 在之前的文章中,介绍ews拉通知的模式订阅邮件.详情可阅读这篇文章:EWS 通过SubscribeToPullNotifications订阅Exchange新邮件提醒 ,可以看到拉通知的模式,是 ...

  3. EWS 流通知订阅邮件

    摘要 查找一些关于流通知订阅邮件的资料,这里整理一下. 核心代码块 using System; using System.Collections.Generic; using System.Linq; ...

  4. exchange 删除邮件

    一 批量删除特定主题的邮件1.1 批量删除所有数据库中特定主题的邮件1) 群发了几封主题为“backup”的邮件: 2) 当前操作账号需要满足如下需求: a)该账号需属于Exchange Server ...

  5. [EWS]在exchange中的标识符

    摘要 最近在用ews的方式开发邮箱服务,包括写邮件,查看某封邮件的详情,回复,全部回复及转发功能.在获取收件箱的时候,关于唯一标识符的问题.也有点困惑,在每个邮件item中,存在一个changeKey ...

  6. SharePoint 2013技巧分享系列 - 同步Exchange显示高清用户照片

    在“SharePoint 2013技巧分享系列 - Active Directory同步显示用户照片”文中介绍了如何同步Active Directory显示用户照片,但是同步完成后,用户照片尺寸和清晰 ...

  7. 一种读取Exchange的用户未读邮件数方法!

    已好几个月没写博客了,由于之前忙于开发基于Sharepoint上的移动OA(AgilePoint)和采用混合移动开发技术开发一个安卓版的企业通讯录APP(数据与lync一致),并于1月初正式上线.马年 ...

  8. Java---使用EWS 写个ExchangeMailUtil

    依赖包: commons-httpclient-3.1.jar commons-codec-1.10.jar commons-logging-1.2.jar jcifs-1.3.17.jar 代码示例 ...

  9. 滥用exchage远程调用域管理员API接口

    0x00 前言 在大多数的Active Directory和Exchange中,Exchange服务器具有很高的权限,即Exchange服务器上的管理员可以很容易地将权限提升到域管理员权限,我在zdi ...

随机推荐

  1. redis-master/slave模式

    类似mysql的master-slave模式一样,redis的master-slave可以提升系统的可用性,master节点写入cache后,会自动同步到slave上. 环境: master node ...

  2. dotnet core瘦身发布

    需要安装nuget包Microsoft.Packaging.Tools.Trimming然后利用如下命令发布dotnet publish -r win10-x64 -c release --self- ...

  3. 魔方Newlife.Cube权限系统的使用及模版覆盖详解

    讲人:大石头 时间:2018-11-14 晚上20:00 地点:钉钉群(组织代码BKMV7685)QQ群:1600800 内容:魔方Newlife.Cube权限系统的使用及模版覆盖详解 准备 源码地址 ...

  4. SQL2014 尝试读取或写入受保护的内存。这通常指示其他内存已损坏

    管理员身份运行 cmd ->  输入 netsh winsock reset

  5. safe close tcp connection

    https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reli ...

  6. sublime text 文件打开时回调一些函数

    需求:公司服务端脚本以 .s 结尾的文件,也按 js 语法识别,方便查看函数定义. 每次都 ss:js 比较麻烦,所以写个插件. import sublime, sublime_plugin clas ...

  7. vue-cli初始化一个项目

    1,换成淘宝源: npm config set registry https://registry.npm.taobao.org/ 检查是否修改成功 npm config get registry 2 ...

  8. 在ubuntu中我们使用sudo apt-get install 或者dpkg -i *.deb安装软件时,常常提示“有未能满足的依赖关系“,解决方法

    很早之前在ubuntu安装软件时遇到的问题,今天打开ubuntu看到了,总结如下: 在ubuntu中我们使用sudo apt-get install 或者dpkg -i *.deb安装软件常常提示“有 ...

  9. java批量解压文件夹下的所有压缩文件(.rar、.zip、.gz、.tar.gz)

    // java批量解压文件夹下的所有压缩文件(.rar..zip..gz..tar.gz) 新建工具类: package com.mobile.utils; import com.github.jun ...

  10. win10+Theano+GPU

    1. cuda + cudnn 首先还是要先安装GPU库,具体和caffe安装中一样. 2. Theano 为防止下载速度慢,配置清华镜像 conda config --add channels ht ...