如何使用 Graph API 永久删除电子邮件?

Kri*_*thy 2 python email graph microsoft-graph-api

我正在使用 Graph API 来删除电子邮件。下面是代码。但是,我无法永久删除电子邮件,因为它可以从“从服务器恢复已删除的邮件”中恢复。有人知道如何使用 Graph API 执行此操作吗?谢谢。

user = ""
message_id = ""
query_url = url + "users/" + user + "/messages?$filter=internetMessageId eq '" + message_id + "'"
print(query_url)
bearer_token = "Bearer" + " " + token["access_token"]
headers = {'Authorization': bearer_token, 'Content-type':'application/json'}
response = requests.get(query_url, headers=headers, verify=False)
result = json.loads(response.text)
result_emails = result["value"]

for email in result_emails:
    print email["sender"]["emailAddress"]["address"]
    print email["subject"]

    id = email["id"]
    delete_url = url + "users/" + user + "/messages/" + id
    print(delete_url)
    response = requests.delete(delete_url, headers=headers, verify=False)
Run Code Online (Sandbox Code Playgroud)

Gle*_*les 9

当您在 Exchange 中硬删除邮件(即使使用 MFCMAPI)并且打开了“单项恢复”时,该邮件最终将位于 Recoverable-items/purges 文件夹中,请参阅https://learn.microsoft.com/en-us/exchange /security-and-compliance/recoverable-items-folder/recoverable-items-folder。唯一真正删除的时间是在 MFA(托管文件夹助理)完成其工作周期之后。

因此,如果您想复制硬删除正在执行的操作,只需将消息移动到清除文件夹,这将使其对用户不可见并且用户无法恢复(但管理员仍然可以恢复它)。

例如你可以使用

POST https://graph.microsoft.com/v1.0/me/messages/AAMkADhAAATs28OAAA=/move
Content-type: application/json

{
  "destinationId": "recoverableitemspurges"
}
Run Code Online (Sandbox Code Playgroud)