Javascript 使用选定的签名邮件在microsoft Outlook 2013应用程序上打开加载项时,权限被拒绝

Javascript 使用选定的签名邮件在microsoft Outlook 2013应用程序上打开加载项时,权限被拒绝,javascript,outlook-web-addins,Javascript,Outlook Web Addins,在Microsoft Outlook 2013应用程序上,当用户单击外接程序图标/按钮并选择了已签名的邮件时,将出现权限拒绝错误 经过一些研究,我们发现了与此问题相关的文件: 可用于加载项的邮箱项目 撰写或阅读邮件或约会时,Outlook加载项可用,但其他项目类型不可用。如果“撰写”或“阅读”表单中的当前邮件项是以下内容之一,则Outlook不会激活加载项: 受信息权限管理IRM保护,采用S/MIME格式或以其他方式加密以进行保护。数字签名消息就是一个例子,因为数字签名依赖于这些机制之一。 具有

在Microsoft Outlook 2013应用程序上,当用户单击外接程序图标/按钮并选择了已签名的邮件时,将出现权限拒绝错误

经过一些研究,我们发现了与此问题相关的文件:

可用于加载项的邮箱项目 撰写或阅读邮件或约会时,Outlook加载项可用,但其他项目类型不可用。如果“撰写”或“阅读”表单中的当前邮件项是以下内容之一,则Outlook不会激活加载项:

受信息权限管理IRM保护,采用S/MIME格式或以其他方式加密以进行保护。数字签名消息就是一个例子,因为数字签名依赖于这些机制之一。 具有消息类IPM.report.*的传递报告或通知,包括传递和未传递报告NDR报告,以及读取、未读取和延迟通知。 草稿未指定发件人,或在Outlook草稿文件夹中。 作为其他邮件附件的.msg或.eml文件。 从文件系统打开的.msg或.eml文件。 在共享邮箱、其他用户的邮箱、存档邮箱或公用文件夹中。 使用自定义表单。 我们的问题:

是否可以通过签名邮件激活Outlook 2013上的加载项存在任何解决方法

为了警告我们的外接程序用户不支持Outlook 2013,我们想区分Outlook 2013和2016版本,我们如何使用microsoft邮箱api在javascript中做到这一点

在清单中设置需求版本已经完成,但outlook 2013和2016共享同一版本,因此我们只能停用或保留这两个版本

谢谢你的帮助

致以最良好的祝愿

============================================================================

一个解决方案可以用MS来处理 这里有一份小简历:

实际上,我们已将树时间加载项发送给验证团队。每次,我们都会在报告中遇到相同的错误,即关于我们的外接程序“4.12.1”的兼容性,您的应用程序或外接程序必须与Office 2013、Office 2016、SharePoint 2013和Office 365支持的操作系统、浏览器和设备完全兼容“。由于无法在Microsoft Outlook 2013中打开外接程序,因此此要求实际上无法实现

选择签名邮件后,Outlook 2013无法打开外接程序。Microsoft已知此错误,将来不会修复。Outlook 2013上只会执行安全修补程序。这意味着,为了满足要求,Outlook 2013不应出现在清单中支持的版本中。问题是,如果我们要排除此错误,则查看2013版,我们需要更改清单中的邮箱API版本,如果我们进行此升级,我们不仅会丢失Outlook 2013,还会丢失Outlook 2016。丢失Outlook 2016对我们来说不是一个好的解决方案,这会阻止我们完成要求

我们对支持团队提出了不同的观点/问题。在这里,您可以找到我们的问题以及MS支持团队的相应回复

•是否可以通过签名消息激活Outlook 2013上的加载项Outlook 2013是否不允许存在任何解决方法? 在Outlook 2013中,无法在已签名邮件中激活加载项,但在此类邮件上会显示加载项按钮,这是加载项无法控制的。此行为在Outlook 2013中是按设计进行的,因为Outlook 2013处于扩展支持中,所以只会处理安全更新

•为了警告我们的外接程序用户不支持Outlook 2013,我们想区分Outlook 2013和2016版本,我们如何使用microsoft邮箱api在javascript中实现这一点? 区分是否在Outlook 2013中激活加载项的方法是使用文档中所示的诊断命名空间:Outlook 2013将返回主机版本15xxxx,Outlook 2016将返回16xxx

可以肯定的是,为了尽可能获得最佳的错误处理,我们为使用outlook 2013的用户添加了版本差异和错误消息。遗憾的是,此错误从未显示,因为加载项没有在outlook 2013中打开并显示MS错误消息

MS支持团队可以验证上述行为,并希望我们能够与验证团队达成协议,以便能够完成外接程序发布

正如我们在本例中的第一次迭代中所讨论的,将要求提高到1.4将导致失去Outlook 2016,这不是您的开发团队所希望的,因此,由于如果在Outlook 2013中激活或不激活加载项,则无法控制清单,这是防止Outlook 2013中出现错误的唯一可能方法,由于无法在加载项中使用已签名的消息,因此显示消息和 阻止加载项的功能在Outlook 2013上继续。 如前所述,我们在这一问题上无法提供进一步的支持,因为我们已经用尽了有关2013年展望的各种可能性。我们的建议是继续与应用商店团队进行讨论,以促进解决这一问题,而不必将所需的最低版本增加到1.4


已与MS验证团队达成协议

无法在outlook 2013上为已签名邮件激活加载项。 要区分outlook 2013和2016版本,可以使用Office.context.mailbox.diagnostics.hostVersion API。对于2013版本,版本号以15.xx开始,对于2016版本,版本号以16.xx开始