阅读所有未设置为"Mark Complete"仅使用 EWS 的标志的电子邮件



我正在尝试阅读所有未读的电子邮件,这些电子邮件没有标记为"标记完成";旗帜我使用以下代码阅读电子邮件:

SearchFilter ReadFilter=new SearchFilter.SearchFilterCollection(LogicalOperator.And,new SearchFilter.Not(new SearchFilter.Exists(new ExtendedPropertyDefinition(0x1090,MapiPropertyType.Integer(((;

但这并不是返回其标志由发送者设置为"0"的电子邮件;今天"。

我正在使用flag"标记完成";有一次我的autosys工作读取电子邮件并进行处理。因此,重要的是检查电子邮件是否具有";标记完成";在处理之前。但上面的代码并没有获取任何设置了标志的电子邮件。

我建议您使用pidTagTaksStatus属性https://learn.microsoft.com/en-us/office/client-developer/outlook/mapi/pidlidtaskstatus-canonical-property然后像一样构建过滤器

ExtendedPropertyDefinition pidTagTaskStatus = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Task, 0x8101, MapiPropertyType.Integer);
SearchFilter SetComplete = new SearchFilter.IsEqualTo(pidTagTaskStatus, 2);
SearchFilter sfCol = new SearchFilter.SearchFilterCollection(LogicalOperator.And)
{
new SearchFilter.Not(SetComplete)
};

所以它应该找到任何被标记但没有设置为完成的东西

最新更新