Updated 2012-10-01 23:36:16 by RLE

Microsoft product (line). [Explain. Give references.] [There are several distinct flavors--"IMO" just does some kinds of e-mail ("Internet Mail Only"), "Corporate/Workgroup" gives ... with CDO ...]


http://insideoe.tomsterdam.com/ has much information about Outlook and WAB (Windows Address Book). http://oedbx.aroh.de/ explains formats.

Outlook Express (the "server") does not expose a COM interface, but Outlook 2000 does (true?). Even in the case of the former, [1] apparently offers a way to hack COM (also see vbaoutl.hlp on msdn.microsoft.com).

In March 2004, Melissa Schrumpf posted an interesting unarchived follow-up which explained "Outlook has the ability to run an external program when new mail is received. Using a COM extension, an external script can access the INBOX. For example code, the original poster can have a look at:
   http://www.geocities.com/m_schrumpf/tcl/index.html  20121001: broken link

And scroll down to the IPC section...
      outlook export all - Use TCOM to export Outlook folders to
         the filesystem. Useful for dumping PST files to a
         directory.  Recurses directories. Saves attachments.
         If attachments are Outlook MSG files, opens and exports
         them and their attachments.

If you can do that much, you can open whatever is saved out using open and process it however you like. Additionally, you can grab the text of the message without saving it out to filesystem. It's a property or method of the message object, I believe. I would also recommend:
      com tree - A COM object browser using TCOM and the tree
         widget (tree.tck by D. Richard Hipp). Extremely useful
         in poking around in COM object structures. Has the
         ability to execute methods within the structure being

The Wiki page tcom Allows Emacs as Editor for MS Outlook shows how to grab the text of a currently open Outlook message.

The Using Outlook Web Access (OWA) to access an Exchange server page shows how OWA can be used from Tcl to access an Exchange server and even synchronize other applications (like KNotes) with Exchange. This now also includes an IMAP-to-OWA proxy to allow access to email on an exchange server using OWA for IMAP clients.

Examples on using Outlook from Tcl (through its COM object model) can be found in tcom.

I feel sorry for anyone that has to code an Outlook integration. Good luck with the automation security popup warnings.