Recipients.ResolveAll 失败一半

Recipients.ResolveAll half failing

我的目标是 add/remove 个现有 MailItem mailItem 收件人。

我添加了新的电子邮件地址("some.one@corp.com"):

mailItem.To += "some.one@corp.com"; 

然后我解析收件人,这样它对用户来说看起来更好(比如为内部联系人显示 Skype 状态)。

mailItem.Recipients.ResolveAll();  

它适用于其中一半。对于某些人,如果我查看 mailItem.To,电子邮件字符串已更改为联系人姓名 ("Some One"),并且联系人不在 mailItem.Recipients 中。但它们显示为已解决(例如,它们具有 Skype 状态,或者具有(联系)外部状态)。
因此,对于一半的收件人来说,它以某种方式解决了一半。我找不到任何逻辑,有些内部联系人有效,有些则无效,外部收件人也一样...

Google 帮助不大。我将暂时停用 ResolveAll,以便我的工具可以继续工作,但不胜感激!

对于上下文:
add/remove 收件人,

To / CC / BCC 属性 可能包含也可能不包含电子邮件地址 - 您应该假设它们只包含姓名。

此外,多个名称必须用“;”分隔:

mailItem.To += ";some.one@corp.com"; 

也就是说,使用 MailItem.Recipients 集合,尤其是 Recipients.Add 方法。您可以遍历该集合中的所有项目,并为每个收件人检查 Recipient.Name 和 Recipient.Address 属性。