Update – Get MFCMAPI here instead: http://codeplex.com/mfcmapi
I'm pleased to announce that Microsoft Exchange Server MAPI Editor is finally available: http://www.microsoft.com/downloads/details.aspx?FamilyID=55fdffd7-1878-4637-9808-1e21abb3ae37&DisplayLang=en
This is the "next version of MFCMAPI" that I've been working on for some time. Note that we changed the name to something long and literal in keeping with the rest of the Exchange tools. The binary is still MFCMAPI.exe, so I won't be confused if you continue to call it that. Official documentation will use the full name, or MAPI Editor for short.
So what's new in this version? For starters, the help banner at startup has been tweaked to be a bit more helpful. But if you don't want to see it anymore, you can uncheck the "Display at startup" box to dismiss it for good. Bring it back with F1 or Other/Help.
Once that's out of the way, you can log on and see the big visual change - Icons! They don't really do anything but I think their pretty so I'm compelled to point them out.
A few other changes worth calling out:
Property Pane: All known names for a property tag are given. Names which match the type are in the Property Name(s) column, while names that differ in type are given in Other Name(s). I've added over 6000 new property names in this release. PT_STRING8 and PT_UNICODE properties now show the binary (hex) values for the strings in the Value-Alternate View column. The property pane remembers the order of the columns if you've dragged them around. Named property guids which have been documented show their names Named property names which have been documented show their names The extra prop UI, used for adding specific properties for a GetProps call has been completely rewritten. Access it through Property Pane/Modify Extra Properties.
Contents Pane: PT_LONG properties for which we know flag values show the interpreted values. Column headers have tool tips with the tag number, type, and known property names.
File Output: All text based file output now uses XML. This includes the two main methods of dumping properties. I put in a lot of whitespace and linefeeds to make it easy to compare files. Property Pane/Save Property Pane Contents - will write out the properties in the Property Pane. This can be used to output properties for any kind of object. Save Message(s) to File - The Text File option will output all properties of the currently selected message(s). This includes the attachment and recipient tables and all of the body properties.
For fun - try selecting a folder and trying Save Folder Contents as Text Files. This will create an XML property dump for every message in the folder using the same routine as Save Message(s) to File.
Hex Editor: I know there are plenty of hex editors out there, but none of them ever did just what I needed. So Other/Hex Editor is a built in hex editor and base64 encoder/decoder.
That really only scratches the surface of the changes I've made. There are many more new commands sprinkled throughout the tool, so feel free to look around.
Oh, and definitely let me know about any bugs you find.
Folks have been asking for some time now for a standalone installation package for MAPI and CDO. Well now we have one available: http://www.microsoft.com/downloads/details.aspx?FamilyID=e17e7f31-079a-43a9-bff2-0a110307611e&DisplayLang=en
Some details about this package:
Since I posted some preview documentation for Outlook 2007 I've gotten some questions about support for the beta. We are handling beta support through the newsgroups. The newsgroup for Outlook issues is Microsoft.public.outlook. Our MVPs provide peer support for issues posted there and even file bugs when needed.
For more information, see http://www.microsoft.com/office/preview/community/community.mspx
Update – Get MFCMAPI source here: http://codeplex.com/mfcmapi
I've gotten some great feedback on the release of MAPI Editor yesterday. (Aside - I still can't get used to calling it that - it'll always be MFCMAPI to me.) I want to thank everyone who wrote me with congratulations.
There's one thing that I've been asked more than anything else. Will the source be made available?
Part of making this an official utility involved giving up direct ownership of the code to the product group. So while I'm still "the guy" when it comes to working on the code, they're the ones who will decide if we can release the source. I chose to simplify the process of getting this release by not asking that we include the source.
However, I do think the source *should* be available as a resource to the developer community. I think I will be able to make a great case for that here with the folks who have to give their blessing. My case will be even stronger if I can show them that there's a demand out there. So please keep the comments coming. Thanks!
BTW - I've made the offer elsewhere - until the source does become available, if you have any questions about how I implemented something, just ask and I'll try to help out.