如何防止"程序试图从Outlook访问数据......"警告可信程序

时间:2016-11-24 04:09:44

标签: c# email outlook office-interop

我在企业网络上有一个C#WinForms应用程序,它应该像Outlook中的电子邮件一样拖放目标,即我希望能够将电子邮件拖放到我的应用程序中。它使用的是Office Interop库v14(对于outlook 2010)。

删除时,Outlook会提供安全警告,并提供一个选项以允许访问" (1 | 5 | 10)分钟。

security warning

其他应用程序(例如Visual Studio,TRIM(记录管理系统)等)允许在同一台计算机上进行拖放而不发出任何警告。安全设置由管理员管理,我无权更改它们。

如何防止我的应用程序用户出现这种情况?

我需要签署我的应用程序的证书吗?我是否需要在某种注册表中注册我的应用程序?

1 个答案:

答案 0 :(得分:2)

您在Outlook中获得标准安全提示。 "安全"在这种情况下,指的是所谓的对象模型守卫"这会触发安全提示并阻止对某些功能的访问,以防止恶意程序从Outlook数据中获取电子邮件地址并使用Outlook传播病毒和垃圾邮件。除了运行防病毒应用程序的最新Outlook版本之外,不能简单地关闭这些提示。

要避免此类安全提示,您可以:

  1. 使用Outlook所基于的低级API而不是OOM。或者只是围绕该API的任何其他第三方包装器(例如,如Redemption)。
  2. 使用Outlook Security Manager允许以编程方式抑制此类警告。只需几行代码即可。
  3. 在企业环境中,管理员可以选择放宽部分或全部用户的Outlook安全性。
  4. 创建一个Outlook COM加载项,该加载项不会触发安全提示(默认情况下,所有COM加载项都是受信任的)。
  5. Outlook "Object Model Guard" Security Issues for Developers文章中详细了解这些方法。