如何解决如何信任访问Outlook对象模型的外部应用程序启用了所有安全性选项
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
(请参阅{{3 }}。
我的主要问题是:是否可以在trustedaddins
下注册和注册foobar.exe还是根本不可能?
我知道我可以降低或禁用安全性内容,但这不是我的选择;)
解决方法
您唯一的选项列在How to avoid Outlook Security Alert when sending Outlook message from VBScript?
您可能还想将PsInternetHeaders
属性设置为仅字符串,而不是整数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。