You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过MS Graph API读取Outlook账号邮件的完整头部信息

解决方案

完全可以通过Microsoft Graph API获取邮件完整头部,默认返回报文不会携带该字段,你需要通过$select参数手动指定返回internetMessageHeaders属性即可。

调整后的请求端点

你可以使用如下格式的请求,保留原有返回字段的同时追加完整邮件头:

https://graph.microsoft.com/v1.0/me/mailFolders/{folderid}/messages/?$orderby=sentDateTime&$select=*,internetMessageHeaders
  • 其中*代表保留接口默认返回的所有字段,避免丢失你原先用到的subject、sentDateTime、body等属性
  • 追加的internetMessageHeaders就是对应完整邮件头的属性字段

返回结构说明

调整请求后,返回的每一条message对象中会新增internetMessageHeaders数组,数组内每个元素为name(头名称)和value(头值)的键值对,等效于javax.mail API中getAllHeaders()返回的全部内容,示例结构如下:

{
  "value": [
    {
      // 原有返回的id、subject、body等字段保持不变
      "internetMessageHeaders": [
        {
          "name": "Received",
          "value": "from MAZPR01MB5442.INDPRD01.PROD.OUTLOOK.COM ([fe80::xxxx:xxxx:xxxx:xxxx]) by MAZPR01MB5442.INDPRD01.PROD.OUTLOOK.COM with HTTPS; Mon, 2 Aug 2021 12:47:39 +0000"
        },
        {
          "name": "X-MS-Exchange-Organization-SenderIdResult",
          "value": "None"
        }
        // 其余所有自定义/标准邮件头
      ]
    }
  ]
}

补充说明

  • 该属性在Graph API v1.0版本已正式支持,无需调用beta端点
  • 所需权限和原有读取邮件的权限一致,仅需Mail.Read或更高的邮件读取权限即可,无需额外申请权限
  • 单条邮件查询也适用该规则,请求格式为https://graph.microsoft.com/v1.0/me/messages/{messageId}?$select=*,internetMessageHeaders

内容的提问来源于stack exchange,提问作者Dharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 23:12:02