获取Outlook邮件的原始MIME

时间:2019-03-08 08:39:33

标签: microsoft-graph eml microsoft-graph-mail

我可以使用以下API调用获取带有附件的邮件对象

https://graph.microsoft.com/v1.0/me/messages/${messageId}?$expand=attachments

enter image description here

我需要保存将要上传到我们内部CRM的邮件的原始MIME(即.eml)。

我知道可以用下面的方式制作一个简单的.eml文件,但是我想知道是否有一种更简单的方法可以直接从API获取此文件。

To: Demo-Recipient <demo@demo.example.com>
Subject: EML with attachments
X-Unsent: 0
Content-Type: multipart/mixed; boundary=--boundary_text_string

----boundary_text_string
Content-Type: text/html; charset=UTF-8

<html>
<body>
<p>Example</p>
</body>
</html>

----boundary_text_string
Content-Type: application/octet-stream; name=demo.txt
Content-Transfer-Encoding: base64
Content-Disposition: attachment
ZXhhbXBsZQ==

----boundary_text_string
Content-Type: application/octet-stream; name=demo.log
Content-Transfer-Encoding: base64
Content-Disposition: attachment
ZXhhbXBsZQ==

----boundary_text_string--

1 个答案:

答案 0 :(得分:0)

有两种方法可以获取原始格式(MIME)的消息,并且两种方法现在都可以在Microsoft Graph API的v1.0中使用:

  1. 将$ value附加到get message操作中。
  2. 如果将邮件作为文件或项目附加到另一个Outlook项目(邮件或事件)或群组发布中,则可以通过将$ value附加到get attachment操作中来获取该邮件附件。

Get MIME content of a message描述了两种情况。

通常,关注Microsoft Graph blog sitewhat's new主题或changelog主题(如果是API或权限更新)将有助于您发现以前的添加和更新寻找。特别是,获取消息或消息类型附件的MIME格式的功能于2019年4月在beta版中引入,并在几个月后的9月升级为v1.0。