使用 Outlook Web 插件(Outlook JS API)将电子邮件另存为 .msg 文件

问题描述 投票:0回答:2

我打算使用 Outlook JS API 创建 Outlook 加载项。我以前使用过 VSTO 附加组件。此功能是我在 VSTO 插件中创建的。我正在尝试在 Outlook Web 加载项中复制相同的功能。我们在 VSTO 插件中具有 _mailItem.SaveAs(...) 的 Outlook 功能,但 Outlook Web 插件中没有将电子邮件另存为 .msg 文件的固有功能。

我对这个领域做了足够的研究。我在这项研究上花了很多时间。

如何在 Outlook Web Add-on 中实现此功能?

谢谢

outlook office-js outlook-addin office-addins outlook-web-addins
2个回答
1
投票

Office Web 加载项(与 VSTO 或 COM 加载项不同)在沙箱中运行,出于安全原因,沙箱无法访问本地文件系统。您能做的最好的事情就是使用网络浏览器的本地存储。有关可用技术的更多信息,请参阅保留加载项状态和设置

因此,Office JavaScript API 不提供任何可在 COM 加载项中使用的

SaveAs
方法。您可以在技术社区上发布现有功能请求或对其进行投票,当 Office 开发团队完成规划过程时,这些请求会被考虑。

请注意,当 Exchange 服务器需要时,您可以使用 EWS 或 Graph API 来访问项目。


1
投票

不能:MSG 格式特定于 Windows 桌面版本的 Outlook 和扩展 MAPI - 它是 OLE 存储 (IStorage) 文件。

您可以使用 EWS(指定

<IncludeMimeContent>true</t:IncludeMimeContent>
)或图表访问邮件的 MIME 内容 - Outlook 将很乐意打开 EML 文件。请参阅如何从 Microsoft Outlook 加载项检索完整的 MIME 消息?了解更多详细信息。

请注意,EML 格式不是高保真度,您将错过无法直接映射到 MIME 属性的 MAPI 特定属性。您可以以快速传输流 (FTS) 格式导出项目,但随后您需要将其转换为更容易接受的格式,例如 MSG 格式。请参阅用于读取 Exchange 快速传输流的任何 API。由于 FTS 格式没有记录,您需要自己解析它,或者使用像 Redemption (我是它的作者)这样的库来从 FTS 转换为 MSG。

© www.soinside.com 2019 - 2024. All rights reserved.