簡體   English   中英

在 Google 電子表格中向多個地址發送一封電子郵件

[英]Send one Email to Multiple Addresses in Google Spreadsheet

我正在嘗試創建代碼,該代碼采用包含地址的行並向同一電子郵件中的所有地址發送電子郵件。 但是我的代碼僅將電子郵件發送到列表中的第一個地址,而不會添加其他地址。

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

如果您希望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循環以生成組合的電子郵件字符串,然后將電子郵件發送到循環之外

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM