根据Message-ID

时间:2017-09-20 12:03:21

标签: office365 office365api

我有一堆导出的电子邮件,现在应该在Office 365中删除。 Office 365 API提供DELETE /me/messages/{messageId} REST端点,但提到的{messageId}与导出的电子邮件中可以找到的Message-ID不同。

预期格式为MAAAkL8DFzPTaS5m....S15YyUlnWAAAcDWOTAAA=,而Message-ID为<XYZfooBar123@BAR.test.outlook.com>格式。 这两者之间是否有任何链接,从.msg / .eml文件获取所需的ID或以其他方式删除这些电子邮件?

1 个答案:

答案 0 :(得分:1)

  
    

XYZfooBar123@BAR.test.outlook.com

  

这是通常由链https://en.wikipedia.org/wiki/Message-ID中的第一个邮件传输代理分配的Internet邮件ID。您可以在搜索邮箱中的邮件或与邮件跟踪日志的关联中使用此属性。然而,Id并不保证是唯一的,例如,如果有人发送了一条消息并自行复制,那么他们将在SentItems文件夹和收件箱文件夹中拥有相同Id的消息副本。

REST中所需的MessageId实际上是ItemId,它是Exchange在项目首次保存到商店时分配给项目的标识符。此ID是全局唯一的,但在文件夹之间移动项目时会更改,例如,请参阅。 (https://msdn.microsoft.com/en-us/library/office/dn605828(v=exchg.150).aspx这适用于EWS,但仍然适用于REST,但Id是不同的格式)

导出消息时,将在GET on / Messages上返回ItemId。

取决于您导出邮件的方式?您可以使用另一个可以使用的相关ID,例如可以转换原始EntryId,也可以使用PR_SearchKey等。