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

Google Apps Script中MailApp.sendEmail的抄送/密送使用问题

解决Google Apps Script中MailApp.sendEmail添加抄送/密送的参数错误问题

其实你遇到的问题不是MailApp.sendEmail只支持4个参数,而是你对参数的使用方式不对~

MailApp.sendEmail有几种不同的参数重载形式,你当前用的是**sendEmail(recipient, subject, body, options)**这种结构:

  • 前三个参数分别是收件人、主题、纯文本内容
  • 第四个参数是一个配置对象,所有额外的邮件设置(比如htmlBody、cc、bcc、附件等)都要放在这个对象里,而不能作为单独的参数追加在后面。

如果你把cc/bcc单独加在{htmlBody:message}后面,就会导致参数数量超过这个重载形式的上限,自然会报“参数过多”的错误。

正确的写法示例

把cc、bcc和htmlBody放在同一个配置对象里:

// 单个抄送/密送地址
MailApp.sendEmail(emailAddress, subject, message, {
  htmlBody: message,
  cc: 'cc_recipient@example.com',
  bcc: 'bcc_recipient@example.com'
});

// 多个抄送/密送地址用逗号分隔
MailApp.sendEmail(emailAddress, subject, message, {
  htmlBody: message,
  cc: 'cc1@example.com, cc2@example.com',
  bcc: 'bcc1@example.com, bcc2@example.com'
});

另一种更清晰的重载形式

你也可以直接使用只传一个配置对象的重载,把所有属性都放在对象里,这样更不容易搞混参数顺序:

MailApp.sendEmail({
  to: emailAddress,
  subject: subject,
  body: message,
  htmlBody: message,
  cc: 'cc@example.com',
  bcc: 'bcc@example.com'
});

这样写就不会再出现参数过多的错误啦,所有邮件相关的配置都统一放在一个对象中管理即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:55:59