我會很感激你的幫助。
目前,每次將新行添加到我的電子表格(使用更改觸發事件)時,此腳本都會向收件人(電子表格中包含的電子郵件地址)發送一封電子郵件。在此期間,收件人可能會收到多條訊息。
我想要的是在一封電子郵件中將多行資料發送給特定的收件人(我打算將觸發器更改為時間驅動的觸發器。)
當前資料樣本:

你會怎么做?
如果我這樣做,我還需要更改 .getactive 命令嗎?
提前致謝。
標記
function sendemail() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getActiveSheet();
const sr = 2;
const rg = sh.getRange(sr, 1, sh.getLastRow() - sr 1, 6);
const vs = rg.getValues();
vs.forEach((r, i) => {
let Subject = "New Content on IG.com";
let message =
"<p><b>Title: </b>" r[0] "</p>"
"<p><b>Article: </b>" r[1] "</p>";
let EmailSent = r[5];
let SendTo = r[4];
if (EmailSent != "Yes") {
sh.getRange(i sr, 6).setValue("Yes");
MailApp.sendEmail({to: SendTo,cc: "",subject: Subject,htmlBody: message});
}
})
}
uj5u.com熱心網友回復:
向每個收件人發送一封電子郵件:
function sendemail() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getActiveSheet();
const sr = 2;
const rg = sh.getRange(sr, 1, sh.getLastRow() - sr 1, 6);
const vs = rg.getValues();
const sub = "New Content on IG.com";
let eml = {pA:[]};
vs.forEach((r, i) => {
let msg = "<p><b>Title: </b>" r[0] "</p>" "<p><b>Article: </b>" r[1] "</p>";
let sent = r[5];
let rec = r[4];
if (sent != "Yes") {
sh.getRange(i sr, 6).setValue("Yes");
if(!eml.hasOwnProperty(r[4])) {
eml[r[4]] = [msg]
eml.pA.push(r[4]);
} else {
eml[r[4]].push(msg)
}
}
});
eml.pA.forEach(p => { MailApp.sendEmail({to: p,subject:sub,htmlBody:eml[p].join('<br>')})});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/536457.html
標籤:谷歌应用脚本谷歌表格
