【问题标题】:Send Confirm Email after Google form has been submitted提交 Google 表单后发送确认电子邮件
【发布时间】:2013-08-15 04:12:32
【问题描述】:

我有一个包含以下列的谷歌表单:

姓名 |电子邮件 | have_kids

其中 Name 只是文本输入,email 只是一封电子邮件,have_kids 是一个是/否单选按钮

例如。 dmkumar |我的邮箱@gmail.com |是的

当用户提交表单时,数据会发送到谷歌电子表格。我想对其进行设置,以便如果用户选择“是”来拥有_kids,则会向该用户发送一封电子邮件。这是我现在拥有的代码。我有一个触发事件,可以在表单提交上运行电子表格中的函数。

这是我现在拥有的代码(不起作用):

function emailConfirmation(e) {
  var userEmail = e.values[11]; //column k
  var check = e.values[14]; //column n


  /**
   * Un-comment this to use it for debugging
   */
  //for (var i in e.values) {
  //  Logger.log("" + i + ":" + e.values[i]);
  //}

  var subject = "Sending email from a spreadsheet";
  var message = "Hello World";
  if(check == "Yes")
  {
    MailApp.sendEmail(userEmail, subject, message);
  }
}

我是谷歌脚本的新手,非常感谢简单的解释!谢谢!

【问题讨论】:

  • 您能解释一下“这不起作用”是什么意思吗?很难知道发生了什么而没有错误等。另外,您能否检查一下您的电子邮件是否出现在电子表格所有者电子邮件帐户的“已发送”文件夹中?
  • 当我提交带有我自己的一些数据的表单(并确保在 have_kids 上单击是)时,我没有收到电子邮件。在错误方面,如果我从那里运行它,日志说 e 是未定义的,但我希望因为没有提交任何表单
  • 您确定 e.values 实际上是在填写您的 userEmail 变量吗?此外,您应该尝试发送一封简单的电子邮件,看看.sendEmail() 是否对您有用。喜欢MailApp.sendEmail("test@gmail.com","Test","This is a test email");
  • 我做到了,它成功了,我还想出了如何将最新的表单提交到电子邮件中。我会再修改一些,当我找出完整的问题时,我会发布它。
  • 好朋友,祝你好运!

标签: google-apps-script google-sheets google-forms


【解决方案1】:

这是我想出的答案,因为我相信人们会偶然发现这个页面讽刺

但它确实很好用。

function emailConfirmation(e) {

  var userEmail = e.namedValues["Email Address"].toString(); //Where "Email Address" is the name of a column
  var kids = e.namedValues["Some of my guests are children who will attend the kids' camp."].toString();

  var subject = "Sending email from a spreadsheet";

  if(kids == "Yes")
  {
     MailApp.sendEmail(userEmail, subject, kids);
  }  
}

【讨论】:

  • 我如何在我的表单中实现它?
  • @imjp 你好!要将其实现到您的表单中,您需要转到脚本编辑器。为此,请转到保存表单响应的表格,然后转到“工具”->“脚本编辑器”,然后将脚本复制/粘贴到编辑器中。将您的触发器设置为“提交表​​单”。查看本教程以了解如何使用 Google Apps 脚本环境 google.com/script/start
猜你喜欢
  • 1970-01-01
  • 2015-03-28
  • 2016-07-26
  • 1970-01-01
  • 2014-08-28
  • 1970-01-01
  • 2016-11-23
  • 2011-06-06
相关资源
最近更新 更多