office 365 outlook 图表 api 自定义电子邮件 header

office 365 outlook Graph api custom email message header

为了将电子邮件组织到单线程中,GMail 需要在收到的邮件中设置自定义 header。在通过 Graph API 发送 Office O365 Outlook 消息时,有什么方法可以设置自定义 headers 吗?该文档通过 InternetMessageHeaders 属性 说明了自定义 headers 选项,但是它需要以 header 名称开头并带有 'x-' 附录,这使得它无法使用。例如,这条消息应该设置一些自定义的 headers,但是,由于 'x-' 前缀限制,这不能用于组织 GMail 消息:

POST https://graph.microsoft.com/v1.0/me/sendMail
Content-type: application/json

{
  "message": {
    "subject": "9/9/2018: concert",
    "body": {
      "contentType": "HTML",
      "content": "The group represents Nevada."
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "AlexW@contoso.OnMicrosoft.com"
        }
      }
    ],
    "internetMessageHeaders":[
      {
        "name":"x-custom-header-group-name",
        "value":"Nevada"
      },
      {
        "name":"x-custom-header-group-id",
        "value":"NV001"
      }
    ]
  }
}

https://docs.microsoft.com/en-us/graph/api/user-sendmail?view=graph-rest-1.0&tabs=http

有什么方法可以指定自定义 headers: 'References', 'In-Reply-To' 而不带前缀 'x-'? https://gsuiteupdates.googleblog.com/2019/03/threading-changes-in-gmail-conversation-view.html

当尝试设置不带 'x-' 前缀的自定义电子邮件 headers 时,图表 API returns 出现以下错误消息:

{
    "error": {
        "code": "InvalidInternetMessageHeader",
        "message": "The internet message header name 'References' should start with 'x-' or 'X-'.",
        "innerError": {
            "request-id": "441e21b7-d4ca-47d3-957a-a72bcc854a67",
            "date": "2019-12-10T14:28:35"
        }
    }
}

一种解决方法可能是使用扩展属性来设置这些值,例如 In-Reply-to https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/pidtaginreplytoid-canonical-property 应该类似于

"singleValueExtendedProperties": [
 {
       "id":"String 0x1042",
       "value":"342342343234@domain.com"
 }
]