Google Apps脚本通过电子表格发送电子邮件

时间:2020-08-26 17:01:51

标签: google-apps-script google-sheets gmail-api

试图创建一个Google应用程序脚本,该脚本将为我发送电子邮件,但我有些困惑。我到处搜寻都无济于事。我希望这样做的方式是发送一封带有CC列表且永不更改的电子邮件,并让bcc变量引用电子表格上的一列,因为该列每周更改一次。

任何帮助将不胜感激。我的以下尝试产生错误,因为第15 16行不正确。

function sendEmails() {
 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:C
 var dataRange = sheet.getRange(startRow, 1, numRows, 2);
 // Fetch values for each row in the Range.
 var data = dataRange.getValues();
 for (var i in data) {
   var row = data[i];
   var emailAddress = row[0]; // First column, includes Will.Henderson.
   var message = 'test';
   var subject = 'testy pants'
   var options = {
     cc = row[1]; // Second column is the listserv that never changes. You mad add folks here on occasion
     bcc = row[2]; // Third colummn include managers that change each week to bcc 
   }
  MailApp.sendEmail(emailAddress, subject, message);
 }
}

2 个答案:

答案 0 :(得分:2)

说明:

您非常亲密。 json对象options的定义应如下:

var options = {
    cc : row[1], // Second column is the listserv that never changes. You mad add folks here on occasion
    bcc : row[2] // Third colummn include managers that change each week to bcc 
}

然后您可以像这样发送电子邮件:

MailApp.sendEmail(emailAddress, subject, message, options);

完整解决方案:

function sendEmails() {
 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:C
 var dataRange = sheet.getRange(startRow, 1, numRows, 2);
 // Fetch values for each row in the Range.
 var data = dataRange.getValues();
 for (var i in data) {
   var row = data[i];
   var emailAddress = row[0]; // First column, includes Will.Henderson.
   var message = 'test';
   var subject = 'testy pants'
   var options = {
     cc : row[1], // Second column is the listserv that never changes. You mad add folks here on occasion
     bcc : row[2] // Third colummn include managers that change each week to bcc 
   }
  
   MailApp.sendEmail(emailAddress, subject, message, options);
   
 }
}

答案 1 :(得分:1)

您可以尝试以下方法:

MailApp.sendEmail('mike@example.com', 'Subject', 'Your body.', {
    bcc:'email/s',
    cc:'email/s'
});