Google Apps Script Gửi Email qua Bảng tính

Aug 27 2020

đang cố gắng tạo một tập lệnh ứng dụng Google sẽ gửi email cho tôi và tôi hơi mắc kẹt. Tôi đã tìm kiếm xung quanh nhưng không có kết quả. Cách tôi muốn làm điều này là gửi một email duy nhất với danh sách CC'd không bao giờ thay đổi và để biến bcc tham chiếu đến một cột trên bảng tính, vì nó thay đổi hàng tuần.

Bất kì sự trợ giúp nào đều được đánh giá cao. Nỗ lực của tôi dưới đây dẫn đến lỗi vì dòng 15 16 không đúng.

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);
 }
}

Trả lời

2 Marios Aug 27 2020 at 06:55

Giải trình:

Bạn đang rất gần. Đối tượng json optionsnên được định nghĩa như vậy:

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 
}

và sau đó bạn có thể gửi email như vậy:

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

Giải pháp hoàn chỉnh:

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 NerdySid Aug 27 2020 at 01:09

Bạn có thể thử điều này:

MailApp.sendEmail('[email protected]', 'Subject', 'Your body.', {
    bcc:'email/s',
    cc:'email/s'
});