如何信任访问 Outlook 对象模型的外部应用程序(启用所有安全选项)
How give trust to an external application accessing the Outlook Object Model (with all security options on)
我有一个与 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.0\outlook\security]
"PromptOOMAddressBookAccess"=dword:00000000
"AdminSecurityMode"=dword:00000003
"PromptOOMAddressInformationAccess"=dword:00000000
Outlook 安全模型似乎有一个“trustedaddins”列表,但我不确定这是否也适用于“外部应用程序”以及我是否需要在 TrustedAddins
下注册(参见 here).
我的主要问题是:我可以只注册并在 trustedaddins
下 foobar.exe 还是这根本不可能?
我知道我可以降低或禁用安全性,但这不是我的选择 ;)
您唯一的选择列在 How to avoid Outlook Security Alert when sending Outlook message from VBScript?
您可能还想将 PsInternetHeaders
属性仅设置为字符串,而不是整数。
我有一个与 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.0\outlook\security]
"PromptOOMAddressBookAccess"=dword:00000000
"AdminSecurityMode"=dword:00000003
"PromptOOMAddressInformationAccess"=dword:00000000
Outlook 安全模型似乎有一个“trustedaddins”列表,但我不确定这是否也适用于“外部应用程序”以及我是否需要在 TrustedAddins
下注册(参见 here).
我的主要问题是:我可以只注册并在 trustedaddins
下 foobar.exe 还是这根本不可能?
我知道我可以降低或禁用安全性,但这不是我的选择 ;)
您唯一的选择列在 How to avoid Outlook Security Alert when sending Outlook message from VBScript?
您可能还想将 PsInternetHeaders
属性仅设置为字符串,而不是整数。