获取附件ContentID

时间:2012-04-03 09:16:15

标签: c# outlook-addin

我尝试在Outlook中获取邮件附件的内容ID。我使用Add-In Express作为我的插件,但它无法获得它。

我知道Redemption库,但它不是免费的,因此不适合我。

在Outlook 2007+中有PropertyAccessor,我应该允许这样做,但我无法让它工作。

这是我的代码:

string uniqueId = "";
object props = a.GetType().InvokeMember("PropertyAccessor", BindingFlags.Public | BindingFlags.GetField | BindingFlags.GetProperty, null, a, null);
object[] args = new object[1];
args[0] = @"urn:schemas:mailheader:content-id";
object value = props.GetType().InvokeMember("GetProperty", BindingFlags.Public | BindingFlags.InvokeMethod, null, props, args);
if ((string)value != null) {
    uniqueId = (string)value;
}

“a”是从加载项Express MailItem获取的附件。

它只抛出以下异常:“调用目标抛出了异常。”

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

我也尝试了你的URN,它没有用。

使用DASL,这有效:http://schemas.microsoft.com/mapi/proptag/0x3712001F

Outlook Spy有免费试用期。我会在此期间下载它(这是我发现这个值的地方)。即使它到期,这个有价值的工具也不如救赎本身。