[python-win32] getting email adresses from outlook

Steve Holden steve at holdenweb.com
Tue May 31 14:46:26 CEST 2005


Jürgen Kareta wrote:
> Hello,
> 
> I'm trying to get some email addresses with the following pythoncode:
> 
> import win32com.client
> O = win32com.client.gencache.EnsureDispatch('Outlook.Application')
> mapi=O.GetNamespace('MAPI')
> adr_li=mapi.AddressLists.Item('Global Addressbook')
> members=adr_li.AddressEntries.Item('MyGroup').Members
> for num in range(0, members.__len__()-1):
>     name=entr.GetNext()
>     print name.Name,name.Address
> 
entr.GetNext? Is it possible you aren't dealing with what you think you 
are dealing with? Don't see any other reference to this in your code.

> That works fine, except that I get the x400 address:
>     paul panther /o=panter group/ou=venus/cn=Recipients/cn=PaulP
> instead of the expected SMTP adress:
>     paul.panther at pantergoup.com
> 
> How can I get the SMPT addresses ?
> 

  >>> members = "iterable"
  >>> members.__len__()
8
  >>> len(members)
8
  >>> range(0, 8-1)
[0, 1, 2, 3, 4, 5, 6]
  >>> range(8)
[0, 1, 2, 3, 4, 5, 6, 7]
  >>> [members[x] for x in range(0, members.__len__()-1)]
['i', 't', 'e', 'r', 'a', 'b', 'l']
                                  ^^^
                       ??? no "e" ???
  >>> [x for x in members]
['i', 't', 'e', 'r', 'a', 'b', 'l', 'e']
  >>>

Try:

for num in range(len(members)):
     name=entr.GetNext()
     print name.Name,name.Address

Seems to me like the X.400 address may be just the first one, and your 
code is accidentally not handling the last (second, Internet) address.

If members is being wrapped by pythoncom as a Python iterable then you 
might be able to get away with (something like, untested):

for entry in adr_li.AddressEntries.Item('MyGroup').Members:
   for name in entry.Members:
     print name.Name,name.Address

HTH. Just a few ideas.

regards
  Steve
-- 
Steve Holden        +1 703 861 4237  +1 800 494 3119
Holden Web LLC             http://www.holdenweb.com/
Python Web Programming  http://pydish.holdenweb.com/


More information about the Python-win32 mailing list