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

如何在JavaScript中通过Microsoft Graph API v1.0发送多抄送收件人邮件

修复Microsoft Graph API发送带多抄送邮件的BadRequest错误

你的请求返回BadRequest错误,核心有三个问题,对应修改如下:

错误原因及修复点

  • ccRecipients类型不匹配:你用JSON.stringify()把数组转成了字符串,但Graph API要求该字段必须是对象数组,不能是字符串。
  • 字段名拼写错误:收件人对象里的邮箱字段写成了addresss(多了一个s),正确字段名是address。
  • 潜在的邮箱格式问题:拆分后的邮箱地址可能包含前后空格,会导致邮箱无效,需要清理。

修改后的完整代码

var ccaddresses = current.getValue('copied').split(',');
var ccRe = [];

for (i = 0; i < ccaddresses.length; i++) {
    // 清理邮箱地址的前后空格,避免无效格式
    var cleanAddress = ccaddresses[i].trim();
    ccRe.push({
        "emailAddress": {
            "address": cleanAddress // 修正字段名拼写错误
        }
    });
}

// 构造请求体
var requestBody = {
    "message": {
        "subject": current.getValue('subject'),
        "body": {
            "contentType": "html",
            "content": current.getValue('body')
        },
        "toRecipients": [{
            "emailAddress": {
                "address": current.getValue('direct')
            }
        }],
        "ccRecipients": ccRe // 直接传入数组,无需JSON.stringify
    },
    "saveToSentItems": true // 改用布尔值,更符合API schema规范
};

关键修改说明

  1. 移除JSON.stringify(ccRe),直接将数组赋值给ccRecipients,完全匹配API要求的数组类型。
  2. 修正addresss为address,确保字段名符合Graph API的收件人对象结构。
  3. 增加trim()处理邮箱地址,避免拆分后残留的空格导致邮箱格式无效。
  4. 可选优化:将"saveToSentItems": "true"改为布尔值true,API原生支持该类型,更规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 11:38:10