我正在考虑在提交Google表单时触发自动电子邮件发送。一切正常,但是我在下面的代码中遇到了3个问题
- 每次回复都会触发两封电子邮件,而我只希望发送一封电子邮件
- 电子邮件是通过“所有者”的ID发送的,而不是通过google表单提交回复的电子邮件。
- 应该在第7列中将所有成功发送的电子邮件的状态捕获为“ EMAIL SENT”,但是,这样做并非如此。
// has been sent successfully.
var EMAIL_SENT = "EMAIL_SENT";
function sendEmails2() {
var sheet = Spreadsheetapp.getactiveSheet();
var startRow = 2; // First row of data to process
var numRows = sheet.getLastRow(); // Number of rows to process
var dataRange = sheet.getRange(numRows,2,1,sheet.getLastColumn());
// 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[5]; // First column
var message = 'Hello,'+ "\n"
+ "\n"
+ 'We have received an inquiry from your customer in Inbound'+ ".\n"
+ "\n"
+ 'Lead No is' + " - "
+ row[1] + "\n"
+ "\n"
+ 'Kindly arrange a callback'+ "\n"
+ "\n"
+ 'Regards,'+ "\n"
+ 'Team Inbound' + "\n"
+ "\n"
+ 'This is an auto-generated email'; // Second column
var emailSent = row[7]; // Third column
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
var subject = "Inbound Inquiry"+ " - " + row[1];
MailApp.sendEmail(emailaddress,subject,message);
sheet.getRange(startRow + i,8).setvalue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
Spreadsheetapp.flush();
}
}
}