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 收件人,
我处理直接添加到 mailItem.To
的电子邮件,使用简单的 mailItem.To.Contains(newEmailAdress)
检查以避免重复,并使用 mailItem.Replace(newEmailAdress, "")
删除。工作正常。
然后我想处理已经解决或直接作为收件人输入的联系人。我通过 mailItem.Recipients
,使用 PropertyAcessor
转换电子邮件地址,然后仅与 newMailAdress
进行比较。这就是我注意到有些问题解决了一半的方式。
To / CC / BCC 属性 可能包含也可能不包含电子邮件地址 - 您应该假设它们只包含姓名。
此外,多个名称必须用“;”分隔:
mailItem.To += ";some.one@corp.com";
也就是说,使用 MailItem.Recipients
集合,尤其是 Recipients.Add
方法。您可以遍历该集合中的所有项目,并为每个收件人检查 Recipient.
Name 和 Recipient.Ad
dress 属性。
我的目标是 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 收件人,
我处理直接添加到
mailItem.To
的电子邮件,使用简单的mailItem.To.Contains(newEmailAdress)
检查以避免重复,并使用mailItem.Replace(newEmailAdress, "")
删除。工作正常。然后我想处理已经解决或直接作为收件人输入的联系人。我通过
mailItem.Recipients
,使用PropertyAcessor
转换电子邮件地址,然后仅与newMailAdress
进行比较。这就是我注意到有些问题解决了一半的方式。
To / CC / BCC 属性 可能包含也可能不包含电子邮件地址 - 您应该假设它们只包含姓名。
此外,多个名称必须用“;”分隔:
mailItem.To += ";some.one@corp.com";
也就是说,使用 MailItem.Recipients
集合,尤其是 Recipients.Add
方法。您可以遍历该集合中的所有项目,并为每个收件人检查 Recipient.
Name 和 Recipient.Ad
dress 属性。