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

求助:如何通过MS Graph API sendMail正确添加多个收件人

正确的MS Graph API sendMail多收件人JSON格式

你的第一个JSON写法格式本身是正确的,问题出在第二个尝试的写法上——JSON对象中不允许重复的键,你把两个emailAddress放在同一个对象里,会导致后一个覆盖前一个,这是无效的。

不管是toRecipients还是ccRecipients,正确的格式都是数组中每个收件人单独作为一个包含emailAddress的对象,示例如下:

$BodyJsonsend = @"
{
    "message": {
        "subject": "$($Subject)",
        "body": {
            "contentType": "HTML",
            "content": "$($Body)"
        },
        "toRecipients": [
            {
                "emailAddress": {
                    "address": "mail1@domain.com"
                }
            },
            {
                "emailAddress": {
                    "address": "mail4@domain.com"
                }
            }
        ],
        "ccRecipients": [
            {
                "emailAddress": {
                    "address": "mail2@domain.com"
                }
            },
            {
                "emailAddress": {
                    "address": "mail3@domain.com"
                }
            },
            {
                "emailAddress": {
                    "address": "mail5@domain.com"
                }
            }
        ]
    },
    "saveToSentItems": "true"
}
"@

关键要点:

  • toRecipients和ccRecipients都是JSON数组(用[]包裹)
  • 数组内的每个元素是独立的对象(用{}包裹),每个对象只包含一个emailAddress节点
  • 多个收件人就往数组里追加更多的{"emailAddress": {"address": "xxx"}}结构

如果你的第一个写法仍无法运行,大概率是$Body变量中包含了未转义的特殊字符(比如双引号、换行符),导致JSON格式损坏,此时用ConvertTo-Json构建JSON会更可靠,能自动处理特殊字符转义:

$messageParams = @{
    message = @{
        subject = $Subject
        body = @{
            contentType = "HTML"
            content = $Body
        }
        toRecipients = @(
            @{ emailAddress = @{ address = "mail1@domain.com" } },
            @{ emailAddress = @{ address = "mail4@domain.com" } }
        )
        ccRecipients = @(
            @{ emailAddress = @{ address = "mail2@domain.com" } },
            @{ emailAddress = @{ address = "mail3@domain.com" } },
            @{ emailAddress = @{ address = "mail5@domain.com" } }
        )
    }
    saveToSentItems = $true
}

$BodyJsonsend = $messageParams | ConvertTo-Json -Depth 3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:01:08