How To Programmatically Access Exchange 2010 Archive Mailboxes

Archive mailboxes are a new concept in Exchange 2010 that solve some of the problems inherent in PST archives – the primary of which being that there’s no way to access your PST files from a different machine. Archive mailboxes solve this by providing you a second mailbox you can use to archive mail from…


That’s My Name, Don’t Wear It Out

Part 1 It used to be in earlier versions of Exchange, you were able to change the names of the “special” folders, like Inbox, Calendar, Tasks, etc. This is because MAPI keeps track of the Entry ID for these special folders in properties stored on the root folder. As long as the folder never got…


Push Notifications broken in Exchange 2010

We recently found a bug in the way Exchange 2010 calls into your EWS Push Notification endpoint. You may see errors on the Exchange server indicating that it received HTTP 500 errors when calling into your client. Basically, the SOAPAction header is not being sent along with the request. I’ll update this post when this…


Parsing ServerVersion: When an Int Is Really 5 Ints

I recently had a case where a customer was asking how to figure out the mailbox version of a given user using Exchange Web Services (EWS). We noticed there is a node returned in the AutoDiscover response message called ServerVersion, but this value seems pretty opaque. Here’s a snippet from the AutoDiscover POX response from…


MimeContent vs Mime Content

Recently, I helped a customer with an issue where they were wondering if it was essential to set the ToRecipients, CcRecipients, and BccRecipients if they were setting the same values in the MimeContent property when doing a CreateItem call in Exchange Web Services. While trying to test out the scenarios, I thought “maybe it depends…


Line Breaks in Managed Web Service Proxy Classes

Matt, Rick, and I were working on an issue recently where when an application using EWS would set a contact’s Street address to a value containing a carriage return and line feed, like this: physicalAddress.Street = “1234 56 Ave NE\r\nc/oPatrick Creehan”; the address card control in Outlook would render it like this: Ugly, right? The…


DeleteItem Ignores ChangeKeys

According to our documentation, DeleteItem calls should fail with a ErrorStaleObject error when the ChangeKey is not the most recent one. This, however, is not the case. In Exchange 2007, the ChangeKey is completely ignored in DeleteItem calls. This decision was made on the logic that if you are trying to delete an item, chances…


OnSyncDelete Delete

The Exchange team is looking for some feedback on business scenarios that will be impacted by removing store sinks from the code. With Exchange 2007 and beyond, the new technology designed to replace store sinks is EWS Notifications and Transport Agents. However, with the removal of the synchronous store sinks, OnSyncSave and OnSyncDelete, there will…


You Say Toemaytoe I Say Tahmahtah

We’ve seen a bunch of folks asking recently if their Exchange 2007 CAS server can talk to their Exchange 2003 mailbox server. The answer is <gasp> it depends on what you mean. It depends on what technology you are referring to and what you mean by “talk.” Are you referring to WebDAV calls? Then yes….


How does E2k7’s API Stack Stack up?

Check this out: Exchange Server 2007 Legacy API Property Mapping This helps you compare WebDAV/CDOEX props to EWS properties. Also discussed are CDOEXM and WMI replacements and the look ahead.