簡體   English   中英

為谷歌表格的列中的每個 email 發送 email

[英]Send an email for every single email in a column in a google sheet

所以我想做的是為谷歌表中的每個 email 發送一個 email 。 每個電子郵件都存儲在第一列,主題行是第二列,email 的正文是第三列。 如果我不讓程序通過 for 循環,我可以發送一個 email,但是我必須有一個方法為每一行發送一個 email。 我知道 getDataRange 應該創建一個包含所有單元格的二維數組,那么為什么我不能通過執行dataRange[integer][integer]來訪問它。 以下是我目前所擁有的谷歌腳本。

function sendEmail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getSheetByName("Email");
  var dataRange = sh.getDataRange();
  for(var i = 0; i < sh.getLastRow(); i++){
    var emailAddress = dataRange[i][1];
    var subject = dataRange[i][2];
    var body = dataRange[i][3];
    MailApp.sendEmail(emailAddress,subject,body);
  }
}

這只是 google sheet 的一個例子。

最終的 output 應該發送:

  1. 主題行中的測試 1,email 的正文部分中的正文 1,所有這些都發送給 email 1 的任何人
  2. 主題行中的測試 2,email 的主體部分中的主體 2,所有這些都發送給 email 2 的任何人

嘗試這個:

function sendEmail() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName("Email");
  const vs = sh.getRange(2,1,sh.getLastRow()-1,sh.getLastColumn()).getValues();//Assume one header row
  vs.forEach(r => {
    MailApp.sendEmail(r[0],r[1],r[2])
  });
}

暫無
暫無

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

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