首页 > 解决方案 > 如何在 Outlook 365 Web 插件中获取电子邮件的 .eml 或 base 64?

问题描述

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

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

    service = new ExchangeService { Credentials = new WebCredentials(OutlookEmailId, Password)

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

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

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

标签: microsoft-graph-apioffice365exchangewebservicesoutlook-web-addinsoffice-store

解决方案


  1. EWS 并没有过时(并且在一段时间内不会过时),它只是基本的身份验证已被弃用,这应该是现代插件中的一个问题。

您可以使用图表获取消息的 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 采取一些选项,请使用如何从 Microsoft Outlook 加载项中检索完整的 MIME 消息中的答案?.


推荐阅读