【问题标题】:Google Form not emailing when changing subject variable更改主题变量时 Google 表单未发送电子邮件
【发布时间】:2015-02-25 22:29:26
【问题描述】:

我对 Google 脚本或一般脚本非常陌生。我使用以下内容将用户输入的信息发送到一封电子邮件到特定的电子邮件地址。我想做的是将第三行作为主题行(在这种情况下是名称)。这是表单链接到的电子表格中的脚本:

function Initialize() {

  var triggers = ScriptApp.getProjectTriggers();

  for(var i in triggers) {
    ScriptApp.deleteTrigger(triggers[i]);
  }

  ScriptApp.newTrigger("SendGoogleForm")
  .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
  .onFormSubmit()
  .create();

}

function SendGoogleForm(e) 
{  
  try 
  {      
    // You may replace this with another email address
    var email = "dyingkingdomsrecords@gmail.com";
    var subject = row[3];
    var s = SpreadsheetApp.getActiveSheet();
    var columns = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];    
    var message = "";    

    // Only include form fields that are not blank
    for ( var keys in columns ) {
      var key = columns[keys];
      if ( e.namedValues[key] && (e.namedValues[key] != "") ) {
        message += key + e.namedValues[key] + "\n\n"; 
      }
    }

    // This is the MailApp service of Google Apps Script
    // that sends the email. You can also use GmailApp for HTML Mail.

    MailApp.sendEmail(email, subject, message); 

  } catch (e) {
    Logger.log(e.toString());
  }

}

当我没有主题变量或为其输入字符串时,我会收到电子邮件没有问题。我确定我遗漏了一些明显的东西。非常感谢您的帮助。

【问题讨论】:

    标签: forms email google-apps-script spreadsheet


    【解决方案1】:

    假设工作表中的列名称为“Name”,则可以在MailApp.sendEmail方法之前添加这一行。

    var subject = e.namedValues["Name"].toString();
    MailApp.sendEmail(email, subject, message); 
    

    【讨论】:

      猜你喜欢
      • 2017-10-03
      • 2021-01-14
      • 2011-02-22
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多