0

所以我找到了一个代码,每次有人填写我的谷歌表格时都会自动发送回复,通知他们他们已经成功注册了活动等。邮件通常发送到这些人在表格中提供的电子邮件,我已经标记该字段为“电子邮件”(带有小写字母)。这是代码

 function sendAutoreply(e)  
{  
  var myemail = "rahil27@gmail.com";
  var email="";  
  var subject="Re: Confirmation Email - Teacher Development";   
  var message = "Thank you for registering for Teacher Development. This is to confirm your registration for Thursday 24th December, 2012 \n\n-----\n\n";  

 try {

    for(var field in e) 
 {  
    message += field + ' :: '  
               + e.namedValues[field].toString() + "\n\n";  
    if (field == 'email') {  
      email = e.namedValues[field].toString();  
    }  
    if (field == 'name') {  
      subject += e.namedValues[field].toString();  
    }  

  }

  // We are using JavaScript MailApp util of Google Apps Script  
  // that sends the email.  

  MailApp.sendEmail(email, subject, message, {replyTo:myemail});  
} catch(e){  
    MailApp.sendEmail(myemail, "Error in Auto replying to contact form submission. No reply was sent.", e.message);  
  }  
}  

它给我一个错误:无法从未定义中读取属性“namedValues”。

请帮忙 !

4

1 回答 1

0

当您在调试器中进行测试时,不会将任何参数传递给您的函数。由于它是期待的e,你会得到一个undefined错误。

请参阅如何在 GAS 中测试触发功能?.

于 2014-01-15T18:48:02.767 回答