Отправить одно электронное письмо на несколько адресов в Google Spreadsheet - PullRequest
1 голос
/ 20 февраля 2020

Я пытаюсь создать код, который принимает строку, содержащую адрес, и отправляет электронное письмо на все адреса в одном и том же письме. Но мой код отправляет электронное письмо только на первый адрес в списке и не добавляет остальные.

function sendMail(){
 

 
  var sheetMail = SpreadsheetApp.getActiveSpreadsheet();
  var ecrvc = sheetMail.getSheetByName('List');
  
  var lastecrvc = ecrvc.getLastRow(); 
   
  //var email = [];
  var people = ",";
  var subject = "Hello All";
  var message = "This is a test";
  var email =  ecrvc.getRange("B2:B"+lastecrvc).getValues();
   

  
  for(var i = 9; i<lastecrvc; i++){
     var emailTo = ecrvc.getRange(i,2).getValues(); 
     email = emailTo + "@gmail.com"; 
     MailApp.sendEmail(email, subject, message)
      
    }
}

1 Ответ

1 голос
/ 20 февраля 2020

Если вы хотите, чтобы MailApp отправлял одно электронное письмо нескольким получателям, вы можете использовать строку адреса электронной почты через запятую в качестве первого аргумента MailApp.sendEmail. Например:

const emails = [ "john.doe@email.com", "jane.doe@email.com" ]

// Join the emails into a single string separated by commas
const combinedEmails = emails.join() // "john.doe@email.com,jane.doe@email.com"

MailApp.sendEmail(combinedEmails, subject, message)

Это должно работать. Но убедитесь, что вы правильно читаете адреса электронной почты с листа. Если вы не уверены, вы можете предоставить образец листа с идентичным расположением, который вы используете.

Предполагая, что вы правильно читаете адреса электронной почты из электронной таблицы, вы можете изменить свой последний for Слегка l oop, чтобы создать объединенную строку электронной почты, а затем отправить электронное письмо за пределами the l oop:

var emailsList = [];
for(var i = 9; i<lastecrvc; i++) {
  var emailTo = ecrvc.getRange(i,2).getValues(); 
  email = emailTo + "@gmail.com";
  emailsList.push(email);
}
var combinedEmails = emailsList.join();
MailApp.sendEmail(combinedEmails, subject, message);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...