2015-10-27 5 views
1

Это мой код до сих пор:Использование 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, «Open Root Container» и т. Д.)?

Почему именно вам нужна эта недвижимость? Вы пробовали ExchangeUser.PrimarySmtpAddress?

+0

О, ничего себе, PrimarySmtpAddress получил. Спасибо, г-н Дмитрий –