Форма Google не отправляет электронное письмо при изменении переменной темы

Я довольно новичок в сценариях Google или сценариях в целом. Я использовал следующее, чтобы отправить информацию, введенную пользователем, в одно электронное письмо на определенный адрес электронной почты. что я хотел сделать, так это сделать 3-ю строку в качестве строки темы (в данном случае это имя). Это сценарий, который у меня есть в электронной таблице, с которой связана форма:

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 = "[email protected]";
    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());
  }

}

Когда у меня нет переменной темы или строки для нее, я получаю электронное письмо без проблем. Я уверен, что упускаю что-то очевидное. Большое спасибо за любую помощь.


person DKWebAdmin    schedule 25.02.2015    source источник


Ответы (1)


Предполагая, что имя столбца на листе — «Имя», вы можете добавить эту строку перед методом MailApp.sendEmail.

var subject = e.namedValues["Name"].toString();
MailApp.sendEmail(email, subject, message); 
person Amit Agarwal    schedule 26.02.2015