0

次のように Outlook と対話する .NET アプリケーションがあります。

                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();

「PropertyAccessor」プロパティにアクセスする必要があることに注意してください。

通常の環境ではこれは正常に実行されますが、このレジストリ キーが配置された「安全な」環境では、次のエラーで失敗し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 セキュリティ モデルには「trustedaddins」リストがあるようですが、これが「外部アプリケーション」にも当てはまるかどうか、正確に登録する必要があるかどうかはわかりませんTrustedAddins(こちらを参照)。私の主な質問は次のとおりです。登録して foobar.exe を実行できますか、それともtrustedaddinsまったく不可能ですか? セキュリティを下げるか無効にできることはわかっていますが、これは私の選択ではありません;)

4

1 に答える 1