【发布时间】:2016-10-05 21:45:28
【问题描述】:
我正在开发一个使用 Redemption 的 Outlook 加载项。加载项的部分功能是允许用户一次将多个收件人添加到邮件项。 Redemption 的 rdoRecipients 对象包括一个“addmultiple”方法,该方法可以提高外接程序在该区域的性能。我的代码如下所示(rdoSession 已经创建):
Redemption.RDOMail rdoMail = null;
Outlook.MailItem mailItem = (Outlook.MailItem)activeInspector.CurrentItem;
if (mailItem != null)
{
mailItem.Save();
rdoMail = mAddinModule.RdoSession.GetRDOObjectFromOutlookObject(mailItem);
List<object> toList = new List<object>();
// some code populating toList
Array toRcps = toList.ToArray();
rdoMail.Recipients.AddMultiple(toRcps, (int)Outlook.OlMailRecipientType.olTo);
rdoMail.Recipients.ResolveAll();
rdoMail.Save();
}
代码运行正确。使用 OutlookSpy 我可以看到 MAPI 收件人表包含正确的地址。此外,如果我添加一行rdoMail.Display(),我会显示一个新的邮件项目,其中显示了正确的地址。但是,这些地址不会显示在原始 Outlook 邮件项中。我猜想扩展 MAPI 属性的更改不会自动反映在现有的邮件项中。有没有办法更新邮件项以显示这些更改?
【问题讨论】: