提交表格后自动发送电子邮件
问题描述:
对于学校我们正在进行葡萄酒销售。我创建了一个表单,以便人们可以订购他们想要的葡萄酒。 我在网上搜索了2个多星期,以获得工作自动确认邮件给填写表格的人。 在这封邮件中,总订购金额立即被填写。这是我无法在Google表单中使用自动确认邮件的原因。我尝试了其他人提供的几种解决方案,但都没有工作。 到目前为止,我得到了它与在谷歌片按下一个按钮后运行,但不会自动触发...设置表单提交 我应该如何调整代码的脚本工作?提交表格后自动发送电子邮件
function sendEmails() {
var sheetname = "Bestellingen";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(sheetname);
var startRow = 2; // First row of data to process
var numRows = 150; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, 5)
Logger.log("Data Range: " + dataRange.getA1Notation());
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1]; // First column = email
var name = row[2]; // Second column = name
var emailSent = row[3]; // Third column
var totals = row[4]; //Fourth column = totals count in excel
var sendername;
var message;
//this is your message
message = "Beste " + name + ",\n\nWij hebben uw bestelling goed ontvangen! \nGelieve het bedrag van: " + totals + " over te schrijven op het rekeningnummer van de ouderraad KBC BEXX XXXXX XXXX \nMocht u nog iets willen veranderen aan uw bestelling of een opmerkingen hebben kunt u altijd een reply sturen op deze bevestigingsmail \nWij hopen dat u van uw wijn(en) zal genieten, \nSanté \n\nHet feestcomitée \n\n"
// This will show up as the sender's name
sendername = "Wijnverkoop Freinetschool De boomgaard";
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
var subject = "Wijnbestelling de Boomgaard";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 4).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}
我会尽快,因为我觉得这回发布该作品的作者..
链接到谷歌片 https://docs.google.com/spreadsheets/d/13e10IgUC8Toexy1ia8plWOWPrq62dxTAMZfSy0PwDDM/edit?usp=sharing
答
您是否尝试过谷歌表单?我认为这会让你的生活变得更轻松。
因此,您将函数设置为表单提交触发器。我想改变'VAR SS = SpreadsheetApp.getActiveSpreadsheet();'线'VAR SS = SpreadsheetApp.openById( “abc1234567”);'从[文档](https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#openbyidid):电子表格ID可以从其URL提取。例如,https://docs.google.com/spreadsheets/d/abc1234567/edit#gid=0中的电子表格ID为“abc1234567”。 –
请参阅此[简单邮件合并教程](https://developers.google.com/apps-script/articles/mail_merge)并对其进行修改以满足您的需求。我用它来表示非常相似的东西。看来您正在计算总成本等。因此,您可以使用该教程中的信息将所有数据发送到确认电子邮件中。 –