Gmail App Script Add BCC from Spreadsheet

2019-09-03 14:23发布

问题:

I have created this code to send a template email from Google Spreadsheet. I really need to BCC another recipient. I have checked out Class Gmail App. It didn't quite make sense to me.

var EMAIL_SENT = "EMAIL_SENT";

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var menu = [{
    name: "Send Email",
    functionName: "sendEmails2"
  }];

  ss.addMenu("Send Email", menu);
}

function sendEmails2() {

  var sheet = SpreadsheetApp.getActiveSheet();

  var startRow = 2;  // First row of data to process

  var numRows = 2;   // Number of rows to process

// Fetch the range of cells A2:B3

  var dataRange = sheet.getRange(startRow, 1, numRows, 3)

// Fetch values for each row in the Range.

  var data = dataRange.getValues(); 





for (var i = 0; i < data.length; ++i) {
var row = data[i];

var emailAddress = row[0];  // First column

var message = "Hello Team,\n\n" + row[1] + " Please do the Following:...";       // Second column

var emailSent = row[2];     // Third column
if (emailSent != EMAIL_SENT) {  // Prevents sending duplicates
  var subject = "Team Email";
  MailApp.sendEmail(emailAddress, subject, message);
  sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT);
  // Make sure the cell is updated right away in case the script is interrupted
  SpreadsheetApp.flush();
}


}
}

回答1:

Check the version of sendEmail(recipient, subject, body, options) method with optional arguments, which can include bcc.

Class GmailApp also has a similar method sendEmail(recipient, subject, body, options), which can include bcc.

Example:

...
var options = {
   bcc: 'bccmail0@domain.ext, bccmail1@domain.ext'
};
MailApp.sendEmail(emailAddress, subject, message, options);
...