Hei Iam开发Outlook web addIn,其中我想访问电子邮件,Senderemail,收发邮件,主题和发送日期等所有数据 . 我还想下载整个邮件文件 . 我找到了一个outlook web REST api
https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#GetMessage
但不知道如何使用它 . 有人有经验吗?如果有人可以分享任何例子,那将有所帮助谢谢
Hei Iam开发Outlook web addIn,其中我想访问电子邮件,Senderemail,收发邮件,主题和发送日期等所有数据 . 我还想下载整个邮件文件 . 我找到了一个outlook web REST api
https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#GetMessage
但不知道如何使用它 . 有人有经验吗?如果有人可以分享任何例子,那将有所帮助谢谢
2 回答
1 . 要获取消息详细信息,您可以使用office.js中提供的javascript API . 有关项目上可用的各个API的详细信息,请参阅链接:
https://dev.office.com/reference/add-ins/outlook/1.5/Office.context.mailbox.item?product=outlook&version=v1.5
2 . 获取整个消息文件 . GetMessage API没有为您提供.msg文件,但它会获取消息的所有属性,您可以使用它来获取有关消息的额外详细信息,这些信息不是由javascript API直接提供的 .
3. 有一种方法可以使用以下两个步骤获取.eml文件:
Step1: 使用JS API getCallbackTokenAsync([options],callback)获取EWS回调令牌 . 参考链接:
https://dev.office.com/reference/add-ins/outlook/1.5/Office.context.mailbox?product=outlook&version=v1.5
Step2: 使用服务器中的此令牌发出EWS请求,将IncludeMimeContent设置为true,并将响应保存为.eml文件 . 参考链接:
https://msdn.microsoft.com/en-us/library/office/aa566013(v=exchg.150).aspx
我想你想在MIME format(又名* .eml文件类型)中获取当前的电子邮件 . 如果是这样,请参阅答案 .
1. Exchange Web Services (EWS). Prior 2019 year
你必须使用Exchange Web Services (EWS),有两种方法:
但它不适用于iOS / Android(link)而JavaScript API的 email size limit 是1 MB(请参阅all limitations of the JavaScript API),因此获取和解码电子邮件的实现必须在后端运行(这可能是一个不必要的负载服务器) . 因此,您可能会忘记选项#1并开始阅读下一个选项 .
话虽如此,有消息称 . 自2018年7月以来,Microsoft仅发布EWS的安全更新(请参阅the official statement) . 他们逐步淘汰Microsoft Graph,这是Office数据的新门户,迄今为止它不支持以EML格式导出电子邮件 . 到2018年底feature is promised in beta .
2. Microsoft Graph. Starting from 2019 year
EWS是dead和Microsoft Graph是要走的路 . Microsoft人员promised在Outlook Mail REST API中公开整个电子邮件MIME流(现在应该处于测试阶段) . 所以请密切关注Outlook mail REST API .
注意:MS Graph仅适用于Exchange Online( Cloud 中的Office 365)或hybrid deployment内部的Exchange(至少需要与Office 365集成的Exchange 2016累积更新3(CU3)本地服务器) .