outlook - 在 Microsoft Graph/Outlook REST API 中识别 DSN(传递状态通知)或 NDR(未传递报告)和失败的收件人

标签 outlook microsoft-graph-api outlook-restapi

我在这里发现了几个关于在各种邮件服务器中检测邮件状态的问题,但仍然不清楚如何使用 Outlook REST API 来做到这一点。

In documentation我们可以看到请求的响应:

GET https://graph.microsoft.com/v1.0/me/messages/AAMkADhMGAAA=

但似乎答案没有包含此类信息的字段。我还研究了对 header 的请求:
https://graph.microsoft.com/v1.0/me/mailfolders/inbox/messages?$select=subject,internetMessageHeaders

不幸的是,没有像 X-Failed-Recipients 这样的标题。 .

是否有任何方法可以使用 Outlook API 获取递送状态和/或失败的收件人?

最佳答案

我的方法是像您一样获取消息详细信息和 internetMessageHeaders。

  • 首先我检查标题 Content-Type值(value) multipart/report表示 DSN(交付状态通知),参见 RFC 3461 .
  • GET https://graph.microsoft.com/v1.0/me/messages/<id>?$select=internetMessageHeaders
  • 然后我得到了 toRecipients包含消息的属性
    失败的收件人的电子邮件地址。
  • GET https://graph.microsoft.com/v1.0/me/messages/<id>

  • 笔记:
  • 并非所有邮件服务器都遵循 RFC3461,因此某些 DSN/NDR 电子邮件可能会漏掉
  • 我找不到任何文档说 toRecipients总是包含失败接收者的值,但到目前为止我还没有找到相反的例子。
  • 关于outlook - 在 Microsoft Graph/Outlook REST API 中识别 DSN(传递状态通知)或 NDR(未传递报告)和失败的收件人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53606537/

    相关文章:

    outlook - ICS 文件中缺少 Olsen TZ TZID 格式是否有解决方法

    vba - 使用 Excel VBA 将 .msg 文件中的表格数据粘贴到 Excel 工作表中的单独单元格中

    azure-active-directory - 没有足够的权限写入架构扩展

    javascript - 从 Outlook 加载项使用 Outlook REST API Beta

    azure - 如何获取microsoft graph中所有房间(或选定用户)的所有事件?

    java - 如何使用 Apache POI-HSMF 从 Outlook 消息文件中检索内容类型和内容处置?

    microsoft-graph-api - 如何提高 Microsoft Graph API 订阅限制?

    c# -/common 或/consumers 端点上不支持应用程序。请使用/organizations 或特定于租户的端点

    microsoft-graph-api - 获取具有由外接程序设置的自定义属性的事件

    office-js - 通过 Microsoft Graph 在 Outlook 加载项中设置自定义属性