Chris Withers [mailto:chrisw@nipltd.com] wrote:
There doesn't seem to be a way to get to it from LDAP (grumble), and IMAPv4 is only giving me limited information (Contact Name and Notes).
Is that using python's IMAP library, imaplib.py?
Yes it is. Also, to verify that the library wasn't dumping anything, I telnetted to the IMAP port on Exchange and checked the data. Yesterday I also discovered that I can have Exchange provide the data in "Exchange Rich Text Format". It comes in as a base 64 encoded MS-TNEF attachment to the message retrieved via IMAP. ALL the contact information is included within it. Now if I could only decode it... ...Looks like I may be able to do it with a perl module from: http://theoryx5.uwinnipeg.ca/mod_perl/cpan-search?dist=Convert-TNEF-0.10
My last ditch will be to write an ASP page running on the Exchange server to present that info to Zope for processing.
If you need to do that, serve it out as XML and write a python sax parser to process it :-)
Jim Herbert wrote:
Well, whatever API there is on the windows box, you can presumably write a python (or perl, or C++, or java, or whatever) program that queries that information and makes it available via xml-rpc. Depending on your needs, you could for example use the zope side as the xml-rpc server, and push the contents of the info into zope nightly or something.
Or, there's a very trivial to use xml-rpc server written in python that you could run on the exchange side, and let zope be the client side of the call.
Excellent ideas! I've been balking at this because I don't want to rely on the exchange server as who knows if any interface I use will still be there in Exchange 2002 or whatever. Also, I wanted to try to keep all coding in one box that might be sold directly to a future client (Is it just me, or do employers always try and sell their one-off solution to others?) I suppose relying on the MS-TNEF data vs. relying on the COM interface within Windows isn't all that different. I think the MS-TNEF data (if I can decode it) would be a cleaner solution though. Gaa! When I finish this I'll try and make it available for others (haven't actually written a Python module yet.) Thanks for the help!