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

如何通过Outlook API获取邮件ID及自定义标头?

获取Outlook邮件的Message ID和自定义标头

我来帮你搞定这个需求!要拿到邮件的Message ID和自定义标头,你需要调整API请求的$select参数,同时用上Outlook API的internetMessageHeaders属性——这个属性专门用来返回邮件的原始标头(包括你自定义的那些),而Message ID对应的是internetMessageId字段,这俩都得在$select里显式指定才会返回。

调整后的请求代码

先把你原来的$search数组补全,确保包含需要的字段:

$headers = array( 
    "User-Agent: php-tutorial/1.0", 
    "Authorization: Bearer ".token()->access_token, 
    "Accept: application/json", 
    "client-request-id: ".makeGuid(), 
    "return-client-request-id: true", 
    "X-AnchorMailbox: ". get_user_email() 
); 
$top = 2; 
$skip = isset($_GET["skip"]) ? intval($_GET["skip"]) : 0; 
$search = array ( 
    // 明确指定需要返回的字段,包括Message ID和标头集合
    "\$select" => "internetMessageId,Subject,From,internetMessageHeaders",
    "\$top" => $top,
    "\$skip" => $skip
);

// 把参数拼接到API请求URL里(假设你调用的是/messages端点)
$apiUrl = "https://graph.microsoft.com/v1.0/me/messages?" . http_build_query($search);

// 发起请求(这里用curl示例,你可以用自己的HTTP请求方式)
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$messages = json_decode($response, true);

解析响应获取目标内容

拿到响应后,你可以这样提取Message ID和自定义标头:

foreach ($messages['value'] as $message) {
    // 获取Message ID
    $messageId = $message['internetMessageId'];
    echo "Message ID: " . $messageId . "<br>";

    // 获取所有标头,筛选自定义标头(比如X-My-Custom-Header)
    $customHeaders = array_filter($message['internetMessageHeaders'], function($header) {
        return $header['name'] === 'X-My-Custom-Header'; // 替换成你的自定义标头名称
    });

    if (!empty($customHeaders)) {
        $customHeaderValue = reset($customHeaders)['value'];
        echo "自定义标头值: " . $customHeaderValue . "<br>";
    }

    echo "<hr>";
}

关键说明

  • internetMessageId就是邮件的Message ID,是邮件的唯一标识符,和SMTP标头里的Message-ID对应。
  • internetMessageHeaders返回的是所有邮件标头的数组,每个元素包含name(标头名称)和value(标头值),你可以根据需要筛选出特定的自定义标头。
  • 如果你不需要所有标头,也没办法在API请求里直接过滤,只能获取全部后在本地处理筛选。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:18:24