[Zope] RE: MS Exchange

Ian Epperson Ian@axiomdesign.com
Wed, 28 Feb 2001 10:40:47 -0800


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!