我认为这很容易解决,但我无法在网上找到解决方案。
我在运行脚本时尝试发送自动发送的电子邮件。问题是它会为每一行发送一封电子邮件(多封电子邮件发送给同一个人),而不是发送一封包含在该电子邮件中的每一行/每一行的电子邮件。
第二个问题是我想发送给多个收件人。在我的工作表中,我想将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("emailaddress1@blank.com",
"PFP Lumber",
message);
}
}
答案 0 :(得分:0)
从您的共享样本表和脚本中,有一些问题。
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:emailaddress1@blank.com
消息:Gulfport desc1 1 1 1 1,Gulfport desc2 2 2 2 2邮件2: mailaddress:emailaddress2@blank.com
消息:Gulfport desc3 3 3 3 3,Gulfport desc4 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);
}
}
}