New Outlook Preview应用的Outlook COM对象替代方案咨询
问题背景
我们正迁移至Office 365,邮件服务切换为Exchange Online,用户通过浏览器或Windows 10/11的New Outlook Preview访问邮件。计划停用旧版Outlook 2016桌面端,但依赖Outlook COM对象的自动化应用(如CRM系统)受影响——这类应用原本能在用户邮箱打开新邮件并预填HTML正文,而New Outlook Preview暂不支持该功能。尝试过MailTo函数,但它不支持HTML正文,无法满足需求。
2023-07-14更新后调研了两种方案,但均存在不足:
- MailTo+剪贴板:通过MailTo协议打开New Outlook新建草稿,预填收件人、主题,再用C#将HTML内容写入剪贴板,用户手动粘贴正文。缺点是无法添加附件,且用户可能遗忘剪贴板内容。
- Graph API:可创建带HTML正文和附件的草稿,返回deeplink在浏览器打开。缺点是链接默认在浏览器打开而非New Outlook Preview,且用户需点击编辑才能操作;尝试OWA deeplink URI方案但因文档缺失未成功。
更优解决方案建议
1. 尝试New Outlook未公开的URI协议参数
New Outlook支持自定义URI唤起,可尝试以下格式直接唤起桌面端并预填HTML正文:
outlook://compose?to=recipient@example.com&subject=Test%20Subject&body=<html><body><h1>HTML Content</h1></body></html>
注意:HTML内容需做URL编码,复杂HTML可能存在兼容性问题,需结合实际场景测试渲染效果。此方案可直接唤起New Outlook桌面端,无需跳转浏览器,但参数支持范围需自行验证。
2. Graph API结合New Outlook桌面端URI
通过Graph API创建包含HTML正文和附件的草稿后,获取草稿ID,使用以下URI直接在New Outlook桌面端打开草稿:
outlook://mail/item/{draft-id}
此方式跳过浏览器跳转,直接在桌面端打开已预填内容的草稿,用户无需额外点击编辑。需确保用户已登录New Outlook桌面端,且草稿属于当前登录用户邮箱。
3. 开发Office.js插件(适合CRM系统集成)
若CRM系统支持集成Office插件,可开发轻量级Office.js插件,在New Outlook内直接触发邮件创建流程,预填HTML正文和附件。Office.js提供官方支持的邮件编辑API,完全适配New Outlook,稳定性高,但需要一定开发工作量并遵循插件发布流程。
产品改进建议
可通过微软365管理中心的反馈渠道提交功能需求,请求官方完善New Outlook桌面端的自动化API或COM对象兼容支持,推动该功能的优先级开发。
内容的提问来源于stack exchange,提问作者Gforse

