我尝试在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获取的附件。
它只抛出以下异常:“调用目标抛出了异常。”
有人可以帮助我吗?
答案 0 :(得分:1)
我也尝试了你的URN,它没有用。
使用DASL,这有效:http://schemas.microsoft.com/mapi/proptag/0x3712001F
Outlook Spy有免费试用期。我会在此期间下载它(这是我发现这个值的地方)。即使它到期,这个有价值的工具也不如救赎本身。