我面临以下问题:
我从Outlook 2013发送电子邮件,并使用addin express进行一些处理。在此处理过程中,我创建新电子邮件并在其上设置类别
string [] elems = userLogin.Split(new char [] {' \'});
mailItem.Categories = elems [1] +" " + mailItem.Categories;
但是当我在Outlook 2013上收到它时,我看不到任何类别......它在Outlook 2007上工作但现在它停止工作了。也许你有任何想法可能是错的?
答案 0 :(得分:1)
类别(关键字)是MAPI特定属性。当邮件转换为MIME时,MAPI特定的属性将丢失。您可以通过将特殊的UseTnef属性设置为true来强制Outlook以TNEF格式(臭名昭着的winmail.dat文件)发送:
MailItem.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/8582000B", true)
答案 1 :(得分:0)
确保目标PC上存在某个类别,请查看MSDN中的How to: Enumerate and Add Categories文章。
Categories属性是已分配给Outlook项目的分隔的类别名称字符串。此属性使用Windows注册表中 HKEY_CURRENT_USER \ Control Panel \ International 下的值名称 sList 中指定的字符作为多个类别的分隔符。我不认为这是一个空白......
string[] elems = userLogin.Split(new char[] {'\'});
mailItem.Categories = mailItem.Categories + ", "+ elems[1];
有关详细信息,请参阅How to: Assign Categories to an Item。