在 Outlook 2003 中,打开通讯簿,选择工具->选项。您会看到地址对话框,其中显示选项“发送邮件时,请按以下顺序使用这些地址列表检查姓名:”
对于大多数人来说,这将只包含“联系人”。对于企业网络,它可能还包含“全球地址列表”。问题是,在我的公司中,GAL 有数万之多,并且在尝试发送电子邮件时,名称解析中经常会发生冲突,并且它会发送给另一个国家/地区的错误人员。
相反,我想在该列表顶部放置一个单独的 Exchange 地址列表“X”,以便在检查 GAL 之前首先解析我们自己公司中的名称。然后,解决“联系人”,然后是 GAL。此配置需要部署到数百台 PC。
我已经能够在我自己的电脑上通过破解注册表项来做到这一点:
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\your_profile_name\9207f3e0a3b11019908b08002b2a56c2
, Value 11023d05
。
这包含一个 REG_BINARY 数据结构,该结构列出了该列表中项目的 ID。我可以根据自己的喜好对它们重新排序,Outlook 接受它。
GAL 和“X”地址列表的 ID 是静态的。但是,问题在于“联系人”ID 显然不是静态的,可能是用户和/或计算机独有的。它的值似乎在注册表中是不可发现的。这使我无法简单地将这个注册表值复制到所有 PC。
有没有人能够以编程方式重新排序联系人姓名解析列表?