4

我正在尝试用 Python 编写一个脚本,该脚本将从 Outlook 全局地址列表中提取联系人信息。对于每个条目,我都设法获取了联系人的姓名以及别名(通过一些额外的解析)。

我的代码发布在下面:

import win32com.client

o = win32com.client.gencache.EnsureDispatch("Outlook.Application")
ns = o.GetNamespace("MAPI")

adrLi = ns.AddressLists.Item("Global Address List")
contacts = adrLi.AddressEntries
numEntries = adrLi.AddressEntries.Count

nameAliasDict = {}

for i in contacts:
    name = i.Name
    alias = i.Address.split("=")[-1]
    nameAliasDict[alias] = name

print "\nThe global address list contains",numEntries,"entries."

有没有办法让我在 Outlook 中打开 GAL 时获得完整的信息集(例如标题、电子邮件地址)?

谢谢。

4

1 回答 1

3

使用AddressEntry.GetExchangeUser检索ExchangeUser对象。如果 ExchangeUser 对象未显式公开某些 MAPI 属性,则可以使用 AddressEntry.PropertyAccessor.GetProperty 检索它。使用OutlookSpy查看 GAL 地址条目- 单击 IAddrBook | 打开根容器或 IMAPISession | QueryIdentity 查看 GAL 对象及其 MAPI 属性。

于 2014-11-27T20:56:53.763 回答