我正在使用 office.js 构建一个测试 Outlook Web 加载项。该加载项使用 itemSend 事件来检查用户发送的消息的各个方面。活动效果很好。但是,如果 Web 服务器不可用,该加载项将完全阻止发送任何电子邮件。我找不到任何解决办法。我尝试了几种不同的方法来尝试首先检查网络服务器是否可用。没有任何效果。
显然,如果 Web 服务器不可用,微软已禁用 itemSend。但这使得使用 itemSend 开发的任何 Web 插件完全无法使用,因为公司内数千名员工的电子邮件发送将被关闭。事实是,如果是这种情况,那么我们必须坚持使用 COM 加载项,除了经典桌面之外,这些加载项在混乱的客户端中不受支持。显然,office.js 方法还远未准备好用于大规模业务。
有谁知道微软是否意识到这一点并计划纠正它?
我不确定,我会正确回答你的问题,因为没有提出真正的问题。您发布的体验与“Outlook 加载项的发送功能”中的描述完全相符。因此,当附加组件不可用时,通过实现 onSend 功能的附加组件阻止消息时,您所观察到的情况是绝对正确的。我可能会同意您的说法,即此功能不适合大型部署,但这也不是您的问题。对于你问题的最后一点,我不是微软人,无法评论“onSend”功能的未来发展,而且很可能没有人会公开分享这些信息。如果您心中有一个问题,我相信这就是您问题的答案。
现在给您一个可能对您有用的建议。由于“onSend”功能是几年前在 1.8 级 API 中开发和发布的,而且这些年来微软在这方面没有进行任何改进,所以这里的开发工作很可能已经完成。相反,微软从 1.10 级 API 开始就“基于事件的激活”积极开发。您特别感兴趣的事件是
OnMessageSend
和/或 OnAppointmentSend
。此功能有一定的限制(例如,没有可用于这些事件的对话框 API 等),并且“onSend”和“基于事件的激活”之间也存在差异。查看此选项的主要好处是,可以在非阻塞模式下声明实现基于事件的激活的附加组件,因此当附加组件不可用时,用户在发送消息时不会遇到问题。