我正在尝试用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(例如标题,电子邮件地址)时,是否有办法获取全部信息?
感谢。
答案 0 :(得分:1)
使用AddressEntry.GetExchangeUser检索ExchangeUser对象。 如果ExchangeUser对象未显式公开某些MAPI属性,则可以使用AddressEnttry.PropertyAccessor.GetProperty检索它。使用OutlookSpy查看GAL地址条目 - 单击IAddrBook |打开Root Comtainer或IMAPISession | QueryIdentity可以查看GAL对象及其MAPI属性。