Python and MAPI

Grant Edwards grant at nowhere.
Wed Jan 19 12:17:35 EST 2000


In article <3885D3E0.4F10F28D at netscape.com>, Michel Orengo wrote:

>As I told you, I am still a beginner wrt MAPI. It appears that
>my code worked but not always! In fact, I ran myself into
>several problems I don't understand. The strangest one is that
>some code run in Interactive window, but will not run
>otherwise! Moreover, I am using the lotus cc-mail version of
>MAPI. You are using the one provided by Outlook.

I guess so.  

I'm still pretty fuzzy on MAPI.  At first I thougt it was the
protocl used to talk to Exchange servers.  Then I thought it
was a library of routines provided by MS to talk to Exchange
Server.  Now it seems to be an API provided by e-mail programs
to let other applications invoke some of their functionality. I
think I'm getting closer.

I never realized how much simpler things are in the Unix world.

>In fact, you are lucky because your version is 1.2 I know that
>because I have access to the MSDN Library, and that's where you
>can find all the command/properties of objects of the CDO
>(Collaboration Data Object) the OLE wrapping of the MAPI.

I've got boxes and boxes of MSDN CDs that I inheritted from my
predicessor (and more arrive regularly), but I've never done
anything with them.  Perhaps it's time...

>If you do not have access to the MSDN Library, you can use a
>COM browser: it will give you the properties/methods of the
>objects. 

That's what I was trying to do yesterday afternoon.  The com
browser written in python only shows methods/attributes _after_
they've been used.  (Due to lazy dispatching, I presume.)

>Another solution is to make Python aware of the CDO
>object by using makepy (see QuickStartClientCom.html) In the
>file generated by makepy, you will find all the classes and
>attributes.

That sounds useful.

>What you want to do though should be not very complex. Here is
>a sample code (I didn't test it!), just to provide some idea:

[...]

Thanks!

>Note that you can also take a look at testExchange.py under the
>'test' directory.

I tried that, and got some sort of COM errors.  Since I had
absolutely no clue, I tried your code next.  It's probably time
to figure out how to find things in MSDN.

P.S. Don't tell anybody about this.  It would be just fine if
     everybody continued to think I knew nothing about win32
     programming.  ;)


-- 
Grant Edwards                   grante             Yow!  I've got to get
                                  at               these SNACK CAKES to NEWARK
                               visi.com            by DAWN!!



More information about the Python-list mailing list