无法在 Outlook 中打开链接文件附件:“Outlook 已阻止对以下可能不安全附件的访问”

应用对象
Outlook 2013 Microsoft Outlook 2010

重要说明本文包含的信息向您介绍了如何在计算机上降低安全设置或关闭安全功能。 您可以通过这些更改来解决特定的问题。 在实施这些更改之前,建议您对在特定环境中实施此解决方法可能带来的风险进行评估。 如果实施此解决方法,请采取任何适当的附加步骤来帮助保护计算机。

症状

尝试在 Microsoft Outlook 邮件中打开链接文件附件时,Outlook 会阻止对链接的访问。 发生此问题时,你可能会在 Outlook 信息栏中收到类似以下内容的消息:

注意

Outlook 已阻止对下列潜在不安全附件的访问: 文件名

受此问题影响的附件很少见。 它们通常由自定义解决方案通过使用扩展 MAPI 或 Outlook 对象模型创建,以向 Microsoft Exchange 邮箱或本地 Outlook 文件夹集添加功能。

原因

出现此问题的原因是,默认情况下,Outlook 2010 和 Outlook 2013 不允许打开链接的文件附件。 此外,2010 年 7 月的安全更新对 Outlook 2002、Outlook 2003 和 Outlook 2007 进行了更改,以包括此行为。

有关此安全更新的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

978212 MS10-045:帮助和支持中心中的漏洞可能允许远程代码执行

有关详细信息,请访问以下 Microsoft 安全响应中心公告:

http://www.microsoft.com/technet/security/bulletin/MS10-045.mspx

解决方法

要解决此问题,请使用以下方法:

  • 方法 1

    如果你是使用链接文件附件的自定义解决方案的开发人员,我们建议你更改解决方案,使其不再使用链接文件。 具体来说,避免对附件的PR_ATTACH_METHOD属性使用以下选项:

    • ATTACH_BY_REFERENCE
    • ATTACH_BY_REF_ONLY
    • ATTACH_BY_REF_RESOLVE

    一种可能的方法是在邮件正文中使用超链接。

  • 方法 2

    警告 此解决方法可能会导致你的计算机或网络更易受到恶意用户或恶意软件(例如病毒)的攻击。 我们不建议您采用这种替代方法,此信息仅供参考,您应自行决定是否实施此替代方法。 请自行承担使用此解决方法带来的风险。

    重要说明 本部分(或称方法或任务)包含有关如何修改注册表的步骤。 但如果注册表修改不当,可能造成严重问题。 因此,请务必仔细遵循以下步骤。 为增强保护,请在修改前备份注册表。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的更多信息,请单击下面的文章编号查看 Microsoft 知识库中相应的文章:
    322756 如何在 Windows 中备份和还原注册表

    注册表项可用于防止 Outlook 阻止链接文件附件,以便可直接打开它们。 但是,我们不建议你使用此注册表项,因为这样做会降低 Outlook 的安全性,并可能允许访问恶意附件。

    若要配置 AllowAttachByRef 注册表项,请添加名为 AllowAttachByRef 且值为 1 的 DWORD 值。

    要添加此注册表项,请按照下列步骤操作:

    1. 依次单击“开始”、“运行”,在“打开”框中键入“regedit”,然后单击“确定”

    2. 在注册表中找到并单击以下子项之一:

      • Outlook 2016 (版本 16.0)
        HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security
        或者:
        HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\Outlook\Security
      • Outlook 2013 (版本 15.0)
        HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Security
        或者:
        HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\15.0\Outlook\Security
      • Outlook 2010 (版本 14.0)
        HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Security
        或者:
        HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Outlook\Security
      • Outlook 2007 (版本 12.0)
        HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Security
        或者:
        HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\12.0\Outlook\Security
      • Outlook 2003 (版本 11.0)
        HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security
        或者:
        HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Outlook\Security
      • Outlook 2002 (版本 10.0)
        HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Security
        或者:
        HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\10.0\Outlook\Security
    3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。

    4. 键入 AllowAttachByRef 作为 DWORD 的名称,然后按 Enter。

    5. 右键单击 “AllowAttachByRef”,然后单击“ 修改”。

    6. 在“数值数据”框中,键入 1,然后单击“确定”

    7. 退出注册表编辑器,然后重启计算机。

    重要 AllowAttachByRef 注册表项仅重新启用ATTACH_BY_REFERENCE和ATTACH_BY_REF_ONLY附件。 ATTACH_BY_REF_RESOLVE附件仍被阻止。

更多信息

Outlook 2002 和早期版本的 Outlook 允许你使用“ 插入文件” 命令创建链接的附件。 但是,这仅适用于使用富文本设置格式的邮件。 此功能在较新版本的 Outlook 中不可用。 但是,可以改为在邮件正文中插入超链接。

Outlook 对象模型允许用户创建和发送链接的附件。 但是,发送这些邮件后,MAPI 会将链接的附件转换为嵌入式附件。

由于方案的总体矩阵非常大,并且由于 Outlook 还阻止其他类型的附件,因此根据配置,你应确保测试这些方案,以查看此问题是否可能与你在 Outlook 中可能注意到的意外行为相关。 确定附件是否为链接文件的最佳方法是使用基于 MAPI 的工具(如 MFCMAPI)来检查附件的 PR_ATTACH_METHOD 属性是否设置为以下值之一。

MAPI 标志
2 ATTACH_BY_REFERENCE
3 ATTACH_BY_REF_RESOLVE
4 ATTACH_BY_REF_ONL

若要使用 MFCMAPI 确定附件是否为链接附件,请按照下列步骤操作:

  1. 启动 MFCMAPI。
  2. “会话 ”菜单上,单击“ 登录并显示存储表”。
  3. 双击列表中的 MAPI 存储区之一以打开该存储。 这可能是包含具有可疑附件的邮件的存储。
  4. 在导航窗格中展开文件夹树以找到正确的文件夹,然后双击文件夹名称以打开该文件夹。
  5. 右键单击包含可疑附件的邮件,然后单击“ 显示附件表”。
  6. 选择可疑附件,然后在属性列表中找到 PR_ATTACH_METHOD 属性。 值和 SmartView 列显示数据。 如果数据与前面列出的 MAPI 标志表中列出的三个值之一匹配,则该附件是链接附件。

有关 MFCMAPI 的更多信息,请访问下面的 Microsoft 网页:

http://www.codeplex.com/mfcmapi

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性作任何默示或明示的担保。

为了方便你获取技术支持,Microsoft 提供了第三方联系信息。 该联系信息如有更改,恕不另行通知。 Microsoft 不保证此第三方联系信息的准确性。