问题描述
我想创建一个 Outlook Web 加载项,在其中我想要电子邮件及其附件列表的 .eml 和 .txt?我在 EWS 、 Outlook RestAPI 和 MS Graph API 之间混淆来构建它。 我尝试使用 EWS ,但它有两个问题:
-
从哪里获得这些凭据,(举个例子会有帮助)
service = 新的 ExchangeService { 凭据 = 新的 WebCredentials(OutlookEmailId,Password)
};
-
EWS 现在已经过时了。
那么获取电子邮件内容的正确方法是什么?任何人都可以用简单的英语解释这些步骤。此外,任何示例都会对开始有很大帮助。
我是这些集成和 OAUTH 概念的新手,请提出建议。我想把我的努力放在正确的方向。
解决方法
- 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? 中的答案。