【问题标题】:AQS search EWS for sent to email addressAQS 搜索 EWS 以查找发送到的电子邮件地址
【发布时间】:2015-11-03 19:19:54
【问题描述】:

我有一个收集电子邮件收件箱,可以接收来自多个系统的通知。我能够按主题搜索并成功处理,但我希望通过它发送到的电子邮件地址进行搜索,因为主题是不断变化的。似乎只能按显示名称搜索,这是收集框的名称,但我发送给别名。 db@domain.local, otherdb@domain.local, thisdb@domain.local 都指向一个收款账户。

我想要这份工作

FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, "to:'db@domain.local'", new ItemView(10));

然后我可以根据发送到的地址设置不同的处理。

我尝试设置 SearchFilter,但 ItemSchema 似乎没有提供 SentTo,只有 DisplayTo。

SearchFilter.ContainsSubstring sentToFilter = new SearchFilter.ContainsSubstring(ItemSchema.DisplayTo, "db@domain.local", ContainmentMode.Substring, ComparisonMode.IgnoreCase);
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, sentToFilter, new ItemView(10));

这是我发现的搜索选项可以在查询中 https://msdn.microsoft.com/en-us/library/office/dn579420(v=exchg.150).aspx

【问题讨论】:

    标签: c# email exchangewebservices


    【解决方案1】:

    感谢 @Moo-Juice 将我带到 EmailMessageSchema,我能够在 InternetMessageHeaders 架构中找到发送到的地址

     SearchFilter.ContainsSubstring sentToFilter = new SearchFilter.ContainsSubstring(EmailMessageSchema.InternetMessageHeaders, "db@domain.local", ContainmentMode.Substring, ComparisonMode.IgnoreCase);
     FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, sentToFilter, new ItemView(10));
    

    【讨论】:

      【解决方案2】:

      您正在使用ItemSchema。考虑使用EmailMessageSchema,其中包括ToRecipients

      【讨论】:

      • 感谢您的尝试,但它似乎仍然只是在 ToRecipients 中测试显示名称
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 1970-01-01
      • 2018-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多