1

我在 Exchange Server 2010 的收件箱上运行了一个邮件嗅探器程序,该程序以特定间隔检查电子邮件。我想知道如果电子邮件(EmailMessage)是会议邀请(日历请求)而不加载附件,是否可以以某种方式以编程方式检查EWS(Exchange Web 服务) 。

我知道我可以检查附件是否是一个Microsoft.Exchange.WebServices.Data.ItemAttachment,然后在加载电子邮件后检查这是否是一个Microsoft.Exchange.WebServices.Data.Appointment. 但这仅检查附件是否为邀请。理论上,有人可以转发一封电子邮件,其中包括电子邮件邀请。那么这封邮件真的不是会议邀请,只是转发的邮件。

在不加载附件的情况下,您能否知道电子邮件是否为会议邀请?如果 EWS 无法做到这一点,是否有权威来源?

编辑:转发的电子邮件

这不在问题范围内,但我最初问的是:

或者(但不是我所希望的),有没有办法知道电子邮件是否被转发,以便我可以以不同的方式处理它们?

这已经回答here。但我仍然想得到我的问题的答案,因为这个答案只有助于为某些情况创建解决方法。

提前致谢!

4

1 回答 1

1

您可以利用Message Class属性来确定项目的类型。这里有一个片段可以帮助你......EmailMessage ItemSchema.ItemClass

 FindItemsResults<Item> mailItems = inbox.FindItems(new ItemView(1000) { PropertySet = new PropertySet(ItemSchema.Id, ItemSchema.HasAttachments, ItemSchema.Subject, ItemSchema.ItemClass) }); 
 foreach (EmailMessage message in messageItems)
 {    
   if (message.ItemClass == "IPM.Schedule.Meeting.Request")
     // we have a meeting request
 }
于 2013-08-16T15:57:52.680 回答