如何在 Outlook 365 Web 插件中获取电子邮件的 .eml 或 base 64?

问题描述

我想创建一个 Outlook Web 加载项,在其中我想要电子邮件及其附件列表的 .eml 和 .txt?我在 EWS 、 Outlook RestAPI 和 MS Graph API 之间混淆来构建它。 我尝试使用 EWS ,但它有两个问题:

  1. 从哪里获得这些凭据,(举个例子会有帮助)

    service = 新的 ExchangeService { 凭据 = 新的 WebCredentials(OutlookEmailId,Password)

                     };
    
  2. EWS 现在已经过时了。

那么获取电子邮件内容的正确方法是什么?任何人都可以用简单的英语解释这些步骤。此外,任何示例都会对开始有很大帮助。

我是这些集成和 OAUTH 概念的新手,请提出建议。我想把我的努力放在正确的方向。

解决方法

  1. EWS 并没有过时(并且不会在一段时间内过时)它只是基本的 Auth 已被弃用,这在 Modern Addin 中应该是一个问题。

您可以使用图表获取消息的 Mime 内容(基本上就是 EML 文件的内容),例如 https://docs.microsoft.com/en-us/graph/outlook-get-mime-message。要在插件中使用它,您需要使用 SSO,请参阅 https://github.com/OfficeDev/Outlook-Add-in-SSO,其中有一个非常全面的示例,您只需更改一些 REST 调用即可执行您想要的操作。

有在 https://gsexdev.blogspot.com/2019/05/outlook-addin-for-exporting-email-to.html 上的插件中使用 EWS 的工作示例(有 1MB 的限制)

如果您想超过 1MB,可以使用 EWS 的几个选项,请使用 How can I retrieve the full MIME message from an Microsoft Outlook Add-In? 中的答案。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...