微软正在对 Outlook 中内联图像的底层实现方式进行一项重要更新。这项变更虽不会直接影响大多数终端用户的日常使用,但可能对依赖特定 HTML 结构的第三方插件造成破坏性影响。

此次调整主要涉及 附件 ID(Attachment ID)向内容 ID(Content ID)的迁移,适用于新的 Outlook for Windows 及 Outlook Web 版本。
当前机制:通过附件 ID 获取内联图像
在当前的经典 Outlook 实现中,当邮件正文中插入一张内联图片时,其 HTML 代码通常如下:
<img src="cid:attachment-id-guid" />
其中 attachment-id-guid
是一个唯一的附件标识符(Attachment ID)。开发者可通过解析该 ID,结合 Microsoft Graph API 的 GET /messages/{id}/attachments/{id}
接口,获取图像数据(如 Base64 编码值),用于归档、分析或同步等场景。
许多企业级附加组件(Add-ins)正是基于这一机制构建图像提取和处理逻辑。
即将上线的新机制:使用内容 ID 与授权请求头
从 2024年11月15日起,微软将逐步在新 Outlook(Windows 和 Web)中启用新机制:
- 内联图像仍保留
cid:
前缀,但其指向的不再是 Attachment ID,而是 Content ID(CID); - 图像资源不再通过公开的 GET 请求直接获取;
- 而是通过带有身份验证令牌的 fetch 调用(带 Authorization 头) 来安全请求图像数据。
这意味着:
❌ 原有依赖“提取 Attachment ID → 调用 Graph 获取附件”的插件逻辑将失效。
✅ 新流程提升了安全性,防止未授权访问嵌入式图像内容。
值得注意的是,这一安全模型已在经典 Outlook for Windows 中长期使用,本次更新是将其统一推广至新版平台。
哪些人会受到影响?
用户类型 | 是否受影响 | 说明 |
---|---|---|
普通邮件用户 | 否 | 阅读、发送含图片邮件的行为不受影响 |
使用第三方插件的企业用户 | 可能受影响 | 若插件未更新以支持新 CID 机制,则图像提取功能可能中断 |
插件开发者 | 是 | 必须修改解析逻辑并重新测试 |
特别是以下类型的插件需重点关注:
- 邮件归档工具
- 内容审核系统
- 自动化工作流引擎(如 RPA)
- 客户关系管理(CRM)集成插件
开发者应如何应对?
微软建议开发者立即采取以下措施:
- 更新 HTML 解析逻辑
不再假设cid:
后的内容为 Attachment ID,而应识别为 Content ID。 - 改用受保护的 fetch 方法获取图像
利用 Outlook JavaScript API 提供的身份上下文,发起带 token 的请求:Office.context.mailbox.makeEwsRequestAsync()
或通过 Microsoft Graph 使用已授权的上下文获取资源。 - 在生产环境前完成测试
使用 Microsoft 365 测试租户验证插件行为,确保兼容新旧两种模式。
⚠️ 提醒:该变更将于 2025年11月15日 起逐步面向生产环境推送,建议在此之前完成适配。
评论