How give trust to an external application accessing the Outlook Object Model (with all security options on)

0

I have a .NET application that interacts with Outlook like this:

                Microsoft.Office.Interop.Outlook.Application app = new
              Microsoft.Office.Interop.Outlook.Application();
                Microsoft.Office.Interop.Outlook.MailItem item = app.CreateItem((Microsoft.Office.Interop.Outlook.OlItemType.olMailItem));
                item.PropertyAccessor.SetProperty(PsInternetHeaders + Foobar, 1031);
                item.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML;
                item.To = "a@test.com;b@test.com;c@test.com";
                item.BCC = "cc@test.com";
                item.Body = "Hello There!";
                item.Display();

Be aware that I need to access the "PropertyAccessor" property.

In a normal environment this runs fine, but in a "secure" enviroment with this registry keys in place it just fails with Operation aborted (Exception from HRESULT: 0x80004004 (E_ABORT)):

[HKEY_CURRENT_USER\Software\Policies\Microsoft\office\16.0\outlook\security]
"PromptOOMAddressBookAccess"=dword:00000000
"AdminSecurityMode"=dword:00000003
"PromptOOMAddressInformationAccess"=dword:00000000

Outlooks security model seems to have a "trustedaddins" list, but I'm not really sure if this applies to "external applications" as well and that exactly I need to register unter TrustedAddins (see here). My main question would be: Can I just register and foobar.exe unter trustedaddins or is this not possible at all? I know that I could lower or disable the security stuff, but this is not my choice ;)

outlook
com
outlook-object-model

1 Answer

0

Your only options are listed at How to avoid Outlook Security Alert when sending Outlook message from VBScript?

You also might want to set PsInternetHeaders properties to strings only, not ints.


User contributions licensed under CC BY-SA 3.0