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…


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…


Exchange 2007 SP2 is Released

In case you missed it, Exchange 2007 SP2 was released this week. There are some cool new features, which the EHLO blog talks about here as well as all the bug fixes etc. One major thing to point out is that we no longer promote X- headers to custom properties on messages – though you…


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…


ConfigureMsgService fails with MAPI_E_INVALID_PARAMETER (0x80070057)

I recently helped a customer with an issue where they were calling ConfigureMsgService and that call was failing, returning an HRESULT of MAPI_E_INVALID_PARAMETER (0x80070057). After debugging it, we established that the reason that ConfigureMsgService was failing was that the PR_PROFILE_HOME_SERVER_ADDRS property was missing from the profile. Outlook seemed to work fine, logons worked, sending mail…


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…


Can’t Get Raw MIME in Transport Event in Exchange 2007 SP1

If you wrote a Transport Agent for Exchange 2007 RTM which was accessing the raw MIME message which doesn’t seem to work after installing SP1, there’s a good reason for that. In SP1, we moved content conversion to after the OnRoutedMessage event. This leaves you in the predicament of not having access to raw MIME…


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….