Outlook COM Add-ins and security prompts

As you know if you’ve been reading my previous blog entries is that I’m playing around with Outlook plugins. One thing that’s always bugged Outlook is that it always uses the reply style with the short header attribution like this:

From: <from>

Sent: <sent>

Subject: <sent>

 

<old message>

Some people are religiously opposed to this reply style and the “top posting”, where you type the new text above the quoted text. I actually think that works reasonably well for HTML mail (which lots of people are also religiously opposed to). So, I’m happy with this behavior on most of my internal work related mail, but I think that behavior sucks for plain text mail, where you generally want to put your reply inline with the quoted text. For internet mail, it’s more common to use:

On <date>, <sender> wrote:

And then all of the text is quoted with >’s. I hate it that I can’t do this with Outlook. The attribution style always gives Outlook users away on internet mailing lists. Well, that and the blue Arial text or the winmail.dat attachments J

So, one of the first things I wanted to try with an Add-in was an “Internet Style Reply” button. This is actually quite easy. However, I ran into a roadblock. When I first tried out my new button, I got the new security alert that something was trying to access my address book, with the option to temporarily allow it. There’s no way to turn this off. I think this is actually great protection against viruses/worms/Trojan horses that spread themselves to everyone in your address book. However, it sucks for me! The issue is documented in a kb article here. There’s also more detailed information on slipstick.

It turns out Extended MAPI lets you do many of the operations that are blocked through other entry points. Slipstick pointed me to Outlook Redemption which defines a COM interface that does the basic blocked tasks through the Extended MAPI interface. The interface mirrors the Outlook interface, but with names like “SafeMailItem” instead of “MailItem”. It also has some handy utilities for getting to properties that you can’t normally get to. They also have a nice developer tool called Outlook Spy that lets you browse the Outlook object model through various interfaces. Outlook Spy has a 30 day trial, and then it’s $49.99. Outlook Redemption is free for development purposes, but is $199.99 to redistribute.

Using Outlook Redemption, I was able to get my button working with no warning dialogs! The next step will be to make the wrapping logic smarter. Too bad Outlook doesn’t have format=flowed support…