如何在C#中使用EWS API设置类别标志颜色

时间:2017-02-13 12:16:14

标签: c# exchangewebservices

我正在尝试使用EWS API从Microsoft Outlook中的Exchange文件夹中获取邮件项目。

目前我可以使用

设置邮件项目类别
 Item item = Item.Bind(service, findResults.ElementAt(0).Id);
            // Update the category 
            if (!item.Categories.Contains("mymessage"))
            {
                item.Categories.Add("mymessage");
            }

然后我可以看到具有类别集的相应邮件。

如何为mailItem类别添加颜色...比如可用的颜色标记(蓝色或绿色)?

1 个答案:

答案 0 :(得分:0)

要获取现有类别的列表,可以使用:https://social.msdn.microsoft.com/Forums/en-US/e5c5f072-0b5c-49ce-9db7-57f76f5e011e/edit-master-category-list-in-exchange-2010-via-ews?forum=exchangesvrdevelopment

该代码不再编译,您应该更改:

 UserConfiguration owaCategories = new UserConfiguration(
        this.service,
        "CategoryList",
        parentFolderId);

收件人:

 UserConfiguration owaCategories = UserConfiguration.Bind(
       this.service,
       "CategoryList",
       parentFolderId, 
       UserConfigurationProperties.XmlData);

然后您可以使用类似:

    var cat = new MasterCategoryList(exchange, userMailbox);
    cat.Load();
    EmailMessage email = EmailMessage.Bind(exchange, item.Id);
    email.Categories.Add(cat.Last().Name);// or anything so you find the category you want
    email.Update(ConflictResolutionMode.AutoResolve);

如果要添加类别,可以添加一些代码来修改:owaCategories.XmlData并在owaCategories.Update()中使用MasterCategoryList