The Openchange project’s libmapi looks really promising. It’s an open source MAPI implementation that allows you to talk to an Exchange server from your own code.
The OpenChange MAPI library aims to provide interoperability with an Open Source implementation of Microsoft Exchange protocols under UNIX/Linux. The current implementation offers a client-side library which can be used in existing messaging clients and offer native compatibility with Exchange Servers up to 2003.
As of last weekend it now supports the creation and extraction of not only messages, but also contacts, calender events, and tasks. This should be really useful for developers who want to interoperate with Exchange from other platforms and external mail systems.