EWS 通过SubscribeToPullNotifications订阅Exchange删除邮件

前端之家收集整理的这篇文章主要介绍了EWS 通过SubscribeToPullNotifications订阅Exchange删除邮件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

摘要

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

解决办法

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

关键代码块

._pullsubscription = ._service.SubscribeToPullNotifications(folderIds,,
IEnumerable itemEvents = (ItemEvent itemEvent (itemEvent != uniqueId = itemEvent.ItemId == ? </span><span style="color: #0000ff;"&gt;if</span> (!<span style="color: #0000ff;"&gt;string</span><span style="color: #000000;"&gt;.IsNullOrEmpty(uniqueId)) { Item item </span>= Item.Bind(<span style="color: #0000ff;"&gt;this</span>._service,<span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; ItemId(uniqueId)); Console.WriteLine(itemEvent.EventType.ToString()); </span><span style="color: #0000ff;"&gt;switch</span><span style="color: #000000;"&gt; (itemEvent.EventType) { </span><span style="color: #0000ff;"&gt;case</span><span style="color: #000000;"&gt; EventType.Moved: Console.WriteLine(item.Subject); </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;; </span><span style="color: #0000ff;"&gt;case</span><span style="color: #000000;"&gt; EventType.NewMail: Console.WriteLine(item.Subject); </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;; </span><span style="color: #0000ff;"&gt;default</span><span style="color: #000000;"&gt;: </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;; } } } }</span></pre>

参考资料

猜你在找的C#相关文章