在之前使用EWS的项目中,我的搜索条件要简单得多:在主题中查找带有“xxx”的电子邮件。
我现在正在将此代码构建到更多用途的应用程序中;我将监视各种邮箱的各种标准,例如:
Find all mail items where the recipient is "email@example.com", AND subject contains "xxx" AND (body contains "yyy" OR body contains "zzz")
但是,使用SearchFilterCollection,虽然我可以添加多个SearchFilters,但我没有看到如何应用不同的逻辑运算符......每个SearchFilterCollection似乎都有一个逻辑运算符:
SearchFilterCollection sfc = new SearchFilterCollection(LogicalOperator.Or, new SearchFilter.ContainsSubstring(ItemSchema.Subject, "Test"));
我想一个解决方案是找到所需邮件的超集,然后在处理它们之后更准确地过滤它们。但我想知道在开始时是否有更好的过滤方法,使用SearchFilters或任何其他方式?
答案 0 :(得分:7)
您可以使用SearchFilter.SearchFilterCollection (LogicalOperator, SearchFilter[])
检查:HOW TO: Build a complex search using SearchFilter and SearchFilterCollection in EWS Managed API 1.0