OpenMapi makes an Exchange-killer possible


Scott Chaslin just alerted me to the launch of MAPI/RPC is the proprietary protocol that Outlook uses to talk to Exchange. Unlike open standards like IMAP, it deals with the full spectrum of tasks, appointments and contacts, not just mail messages. If you want to write a drop-in replacement for an Exchange server that supports Outlook, it needs to talk MAPI/RPC.

MAPI/RPC was traditionally both secret and very hard to reverse engineer, so solutions like Zimbra required you to install a connector add-in on every PC running Outlook, to communicate in some other protocol. This was a big barrier to adoption, since it means supporting and maintaining all those client installations. The barrier started to crack as companies like PostPath started offering their own emulations, and Microsoft themselves released documentation on the protocol.

What's exciting about OpenMapi is that it offers an open-source implementation of the MAPI/RPC protocol. Now this is in the wild, it's possible to develop your own server that looks exactly like Exchange to the outside world! Potentially, you could deploy a new solution silently, without all the Outlook clients even knowing anything has changed. This could be the first step in turning enterprise mail servers into a commodity. The actual transport technology behind email servers is a well-understood problem, and if you look at the history of Samba you can see what happens when you free up a core Windows service to talk to any back-end. I'm hoping this will lead to a lot more alternatives to Exchange popping up, it should dramatically lower the barrier to entry.

Personally the most interesting part is the proxy server, which should let me write a component that sits between the real Exchange server and all the Outlook clients, pulling out information I want like attachments, but passing on the rest of the work to Exchange. The real test will be how complete and robust the MAPI emulation is in practice, I'll let you know once I've put it through its paces.

[Update- I was getting confused, this description actually applies more to OpenChange. OpenMapi is not focused on the binary network protocol, and more on the actual programming interface offered by MAPI. See the comment below from Thomas]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: