电子邮件类别丢失

时间:2015-06-29 12:11:39

标签: office-interop outlook-addin outlook-2013

我面临以下问题:

我从Outlook 2013发送电子邮件,并使用addin express进行一些处理。在此处理过程中,我创建新电子邮件并在其上设置类别

  

string [] elems = userLogin.Split(new char [] {' \'});

     

mailItem.Categories = elems [1] +" " + mailItem.Categories;

但是当我在Outlook 2013上收到它时,我看不到任何类别......它在Outlook 2007上工作但现在它停止工作了。也许你有任何想法可能是错的?

2 个答案:

答案 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