BCC 似乎不能用作 sendEmail 的选项 - name 和 replyTo 可以工作
BCC doesn't seem to function as an option of sendEmail - name and replyTo work though
function myFunction() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("Welcome");
var targetSheet = ss.getSheetByName("Done");
var startRow = 2;
var lr = sheet.getLastRow();
var dataRange = sheet.getRange(startRow, 1, lr-1, 6);
var data = dataRange.getValues();
var colNumber = sheet.getLastColumn()-1;
var delRows = [];
for (var i = 0; i < data.length; i++) {
var row = data[i];
var id = row[0];
var emailAddress = row[1];
var date = row[2];
var city = row[3];
var bccmail = row[6];
var Sender = 'XXXXXX';
var reply = 'xxxxxx@xxxxxxx.com';
if (emailAddress.match('@') === null){
continue;
};
var subject = row[4];
var message = "Hey " + id + ", welcome in the team " + row[5];
MailApp.sendEmail(emailAddress, subject, message, {bcc: bccmail,name: Sender,replyTo: reply});
var targetRange = targetSheet.getRange(targetSheet.getLastRow()+1, 1, 1, colNumber);
var sourceRange = sheet.getRange(i+startRow, 1, 1, colNumber);
sourceRange.copyTo(targetRange);
delRows.push(i+startRow);
}
delRows.reverse().forEach(ri=>{sheet.deleteRow(ri)});
几乎所有脚本都可以正常工作。当涉及到发送电子邮件时,我尝试遵循这些 guidelines 并使用 sendEmail(recipient, subject, body, options)。 3 个选项中有 2 个可以正常工作,但密件抄送目前不起作用。你知道我做错了什么吗? BCC 可以是变量吗?
问题出在这一行:
var bccmail = row[6];
dataRange
定义为只有 6 列的范围。 data
是一个二维数组,其值为 dataRange
。 row
是一个单行 data
的一维数组。 JavaScript 数组索引仅从 0 开始,因此值在 row[0]
到 row[5]
之间。
请检查您的sheet在哪一列定义了密件抄送字符串,并从0开始计算索引。
参考:
function myFunction() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("Welcome");
var targetSheet = ss.getSheetByName("Done");
var startRow = 2;
var lr = sheet.getLastRow();
var dataRange = sheet.getRange(startRow, 1, lr-1, 6);
var data = dataRange.getValues();
var colNumber = sheet.getLastColumn()-1;
var delRows = [];
for (var i = 0; i < data.length; i++) {
var row = data[i];
var id = row[0];
var emailAddress = row[1];
var date = row[2];
var city = row[3];
var bccmail = row[6];
var Sender = 'XXXXXX';
var reply = 'xxxxxx@xxxxxxx.com';
if (emailAddress.match('@') === null){
continue;
};
var subject = row[4];
var message = "Hey " + id + ", welcome in the team " + row[5];
MailApp.sendEmail(emailAddress, subject, message, {bcc: bccmail,name: Sender,replyTo: reply});
var targetRange = targetSheet.getRange(targetSheet.getLastRow()+1, 1, 1, colNumber);
var sourceRange = sheet.getRange(i+startRow, 1, 1, colNumber);
sourceRange.copyTo(targetRange);
delRows.push(i+startRow);
}
delRows.reverse().forEach(ri=>{sheet.deleteRow(ri)});
几乎所有脚本都可以正常工作。当涉及到发送电子邮件时,我尝试遵循这些 guidelines 并使用 sendEmail(recipient, subject, body, options)。 3 个选项中有 2 个可以正常工作,但密件抄送目前不起作用。你知道我做错了什么吗? BCC 可以是变量吗?
问题出在这一行:
var bccmail = row[6];
dataRange
定义为只有 6 列的范围。 data
是一个二维数组,其值为 dataRange
。 row
是一个单行 data
的一维数组。 JavaScript 数组索引仅从 0 开始,因此值在 row[0]
到 row[5]
之间。
请检查您的sheet在哪一列定义了密件抄送字符串,并从0开始计算索引。
参考: