通过PropertyAccesor迭代

时间:2013-12-06 10:16:33

标签: c# office-interop outlook-addin office-addins

我们编写了一个Outlook插件,通过PropertyAccessor在邮件项目上设置了几个自定义属性。像这样:

mail.PropertyAccessor.SetProperty(name, value);

此邮件(eml文件)将发送到另一个程序,该程序需要读取属性并根据这些属性执行操作。问题是我们并不确切知道要设置哪些属性。我们如何遍历PropertyAccessor中的自定义属性?

与此同时,我们使用UserProperties迭代属性,但UserProperties有一个缺点,它们在打印电子邮件时打印在邮件消息上方。

1 个答案:

答案 0 :(得分:0)

我认为这没有多大意义 - 你不是拥有成千上万的财产,不是吗? 如果财产可能存在或不存在,只需检查它是否存在 命名属性的另一个问题是它是一个有限的资源 - 在商店中最多可以有64k个不同的命名属性。最好使用较少的命名属性,但要使它们保持多个值 您能举例说明为什么需要大量命名属性吗?

对于要打印的用户属性,在MAPI级别上,您可以在用户属性blob中设置一个特殊标志,以打开或关闭可打印。如果使用Redemption是一个选项,RDOUserProperty对象会公开Printable属性。