Использование MAPI для получения списка электронных писем из GAL
Это мой код до сих пор:
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]
print i.GetExchangeUser().PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3A56101E")
Я получаю собственность от: https://msdn.microsoft.com/en-us/library/bb446002.aspx
Но по некоторым причинам я получаю эту ошибку:
pywintypes.com_error: (-2147352567, 'Exception occurred.', (4096, u'Microsoft Outlook', u'The property "http://schemas.microsoft.com/mapi/proptag/0x3A550003" is unknown or cannot be found.', None, 0, -2147221233), None)
Я делаю это неправильно?
1 ответ
Решение
Вы не можете предположить, что PR_CONTACT_EMAIL_ADDRESSES
или любое другое свойство MAPI будет доступно. Можете ли вы на самом деле увидеть это свойство для этого конкретного объекта в OutlookSpy (нажмите IAddrBook, "Открыть корневой контейнер" и т. Д.)?
Зачем именно вам это имущество? Ты пытался ExchangeUser.PrimarySmtpAddress
?