我认为这将是一个简单的解决方案,但我一直无法在网上找到解决方案。
我正在尝试在运行脚本时发送自动电子邮件。问题是它会为每一行发送一封电子邮件(多封电子邮件发送给同一个人),而不是发送一封包含在该电子邮件中的每一行/每一行的电子邮件。
第二个问题是我想发送给多个收件人。在我的工作表中,我想将B2:F3中的数据发送到第一个电子邮件地址,然后我想将B4:F5发送到提供的第二封电子邮件。
谢谢您的帮助。 - 贾里德
这是我的脚本:
function sendEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("sheet1"));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("A2:m8");
var data = dataRange.getValues();
for (i in data) {
var rowData = data[i];
var emailAddress = rowData[0];
var city = rowData[11];
var dimension = rowData[1];
var product = rowData[2];
var tally = rowData[3];
var price = rowData[5];
var ship = rowData[5];
var message = city + '\n\n' + dimension + ' ' + product + ' ' + tally + ' ' + price + ' ' + ship;
var subject = 'PFP Lumber';
MailApp.sendEmail("[email protected]",
"PFP Lumber",
message);
}
}
从您的共享样本表和脚本中,有一些问题。
price
和ship
是rowData[5]
。
price
和ship
分别是rowData[4]
和rowData[5]
?rowData[11]
是Phone
。
这是rowData[6]
?如果price
,ship
和Phone
分别是rowData[4]
,rowData[5]
和rowData[6]
,你想发送以下电子邮件。
邮件1:mailaddress:[email protected]
消息:Gulfport desc1 1 1 1 1,Gulfport desc2 2 2 2 2
邮件2:mailaddress:[email protected]
消息:Gulfport desc 3 3 3 3 3,Gulfport desc 4 4 4 4 4
如果我的理解是正确的,那么这个修改怎么样?我认为你的情况有几个答案,所以请把它当作其中之一。
function sendEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("sheet1"));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("A2:m8");
var data = dataRange.getValues();
// Modified
var temp = [];
var emailAddress, dimension, product, tally, price, ship, city;
for (var i in data) {
[emailAddress, dimension, product, tally, price, ship, city] = data[i];
var message = city + '\n\n' + dimension + ' ' + product + ' ' + tally + ' ' + price + ' ' + ship;
if (emailAddress || !dimension) {
if (temp.length > 0) {
MailApp.sendEmail(temp[0], "PFP Lumber", temp.slice(1,temp.length).join("\n"));
var temp = [];
}
temp.push(emailAddress, message);
if (!dimension) break;
} else {
temp.push(message);
}
}
}
\n
分隔。Dimension
为空的行之后,我发现没有您要发送的电子邮件。如果我误解你的问题,我很抱歉。
如果要添加签名,这个脚本怎么样?
function sendEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("sheet1"));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("A2:m8");
var data = dataRange.getValues();
var temp = [];
var emailAddress, dimension, product, tally, price, ship, city;
var signature = "\n---\nsample signature";
for (var i in data) {
[emailAddress, dimension, product, tally, price, ship, city] = data[i];
var message = city + '\n\n' + dimension + ' ' + product + ' ' + tally + ' ' + price + ' ' + ship;
if (emailAddress || !dimension) {
if (temp.length > 0) {
MailApp.sendEmail(temp[0], "PFP Lumber", temp.slice(1,temp.length).join("\n") + signature);
var temp = [];
}
temp.push(emailAddress, message);
if (!dimension) break;
} else {
temp.push(message);
}
}
}