【发布时间】:2017-01-08 03:15:19
【问题描述】:
我目前在使用 VSTO 为 2010 创建的 Outlook 加载项时遇到问题,我开发该加载项是为了识别电子邮件地址是位于组织内部还是位于组织外部。
在发送电子邮件时,我使用下面的 MAPI 属性来读取收件人的电子邮件地址。其中 addr 是 AddressEntry 对象。
Microsoft.Office.Interop.Outlook.PropertyAccessor pa = addr.PropertyAccessor;
smtpAddress = pa.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x39FE001E").ToString();
这适用于交换联系人和本地联系人。但是,如果您创建本地联系人并从全球通讯簿中选择电子邮件地址,则该 MAPI 属性不会出现在该特定联系人中。我只需要知道查找联系人(电子邮件地址)是在组织内部还是组织外部的最佳方法(此外,这种方法会降低性能,我的组织中有些人会向超过 500 人发送电子邮件用户一次,通过上述 MAPI 属性处理内部/外部电子邮件扫描需要 10 多分钟)。我知道 Outlook 已经在“新电子邮件”窗口中显示与邮件提示相同的信息。所以我的问题是
有什么方法可以进入邮件提示并从中读取信息?
如果没有,最好的方法是找出联系电子邮件地址是否在组织内部/外部(考虑性能)
【问题讨论】:
标签: c# outlook vsto exchange-server