Google Apps脚本:GmailApp中的多个收件人?

时间:2013-09-23 20:25:05

标签: google-apps-script google-apps-for-education

我可以通过GmailApp.sendEmail()向多个收件人发送电子邮件吗?我已经尝试将收件人地址存储为数组,但它似乎没有发送任何数据。

谢谢!

3 个答案:

答案 0 :(得分:5)

是的,你可以。

如果您引导自己使用Google Apps电子表格服务,则可以在Gmail方法下看到存在高级参数。 GmailApp Services

看起来像这样。

GmailApp.sendEmail(recipient, subject, message, {cc: "email1@email.com,email2@email.com"});

我从来都不喜欢这种方式,如果我发送给不同数量的人,并希望每次发送一封电子邮件而不是一个大CC,我找到的工作就是:

var emails = ["email1@email.com","email2@email.com","email3@email.com"];
for (var i = 0; i < emails.length; i++){
      GmailApp.sendEmail(emails[i], subject, message);
}

这样您只需通过添加/减去电子邮件来编辑电子邮件阵列,而无需更改发送电子邮件的实际代码。唯一的缺点是它会根据您在阵列中拥有的地址数量发送X个电子邮件数量(如果您担心达到每日上限),但它仍然有效。

答案 1 :(得分:3)

收件人参数采用字符串,因此您只需将多个收件人编写为字符串,并在其间使用逗号:

GmailApp.sendEmail('first.last@example.com, your.friend@example.com', ...); 

应该有效。请注意,他们都会看到彼此作为收件人。

编辑:我尝试了它并且有效。

答案 2 :(得分:0)

当我有多个地址时,我只是通过范围来引用列表。下面的脚本示例将发送到5个从名为Email的工作表/选项卡上的C2:C6提取的电子邮件地址。

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var emailRange = ss.getSheetByName("Email").getRange(2,3,5,1);
    var emailAddress = emailRange.getValues();
      Logger.log(emailAddress);
    var message = 'Message you wish to enter';
    var subject = 'Verbiage for Subject Line';
   GmailApp.sendEmail(emailAddress, subject, message)