【问题标题】:Identifying DSN (Delivery Status Notifications) or NDR (Non Delivery Reports) and the failed recipients in Microsoft Graph / Outlook REST API在 Microsoft Graph / Outlook REST API 中识别 DSN(交付状态通知)或 NDR(未交付报告)和失败的收件人
【发布时间】:2018-12-04 05:56:24
【问题描述】:

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

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

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

但似乎答案没有包含此类信息的字段。我还研究了对标头的请求:

https://graph.microsoft.com/v1.0/me/mailfolders/inbox/messages?$select=subject,internetMessageHeaders

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

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

【问题讨论】:

    标签: outlook microsoft-graph-api outlook-restapi


    【解决方案1】:

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

    • 首先我检查标题Content-Typemultipart/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 始终包含失败收件人的值的文档,但到目前为止我还没有找到相反的示例。

    【讨论】:

      【解决方案2】:

      我确实尝试过提及solution,但是当我添加额外的“/”时它起作用了 在链接中

      GET https://graph.microsoft.com/v1.0/me/messages/<id>/?$select=internetMessageHeaders
      

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 1970-01-01
      • 2012-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      相关资源
      最近更新 更多