2005-03-10

bwh: (Default)
2005-03-10 08:47 pm

Exchange and Outlook suck, but you probably knew that

So far as I can see:

  1. The MAPI implementation for Exchange that comes with Outlook depends on the current user's Outlook and so is unsuitable for use in non-interactive programs.
  2. Also, the CDO (COM wrappers for MAPI) implementation that comes with Outlook doesn't work if Outlook isn't the default mail client.
  3. Exchange doesn't provide access through IMAP to other users' mailboxes, even though they are shared and visible in Outlook.
  4. Exchange doesn't provide access through IMAP to custom message flags.
  5. Exchange doesn't provide access to other users' mail filtering rules along with access to their mailboxes (or possibly this is a limitation of Outlook).
  6. One or other of them turns plain-text emails into rich text for no apparent reason.

The consequences of this are:

  1. I have to use IMAP for non-interactive mail automation on Exchange (unless I want to write an extension to run on Exchange itself, at the risk of crashing it).
  2. I have to have the password for a shared mail account that I want to do automatic processing on instead of just being given certain access rights over the associated mailboxes.
  3. I have to abuse some standard flag to mark which messages have been processed. (I thought of using \Seen but that would mean messages that people look at in a normal MUA might never be processed.)
  4. I had to log in to this account interactively to find out why and how messages were unexpectedly not appearing in its inbox.
  5. My regexp doesn't match the converted messages.

So much for "developers developers developers", eh? But maybe I just missed something.

Updated with yet another annoyance.