如何调试似乎已停止工作的电子邮件发送Google脚本?

时间:2017-10-24 17:32:46

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

这在昨天有效,今天不再有效。

此脚本的功能是从填写Google表格的Google表单中获取信息,然后通过电子邮件将副本发送给用户以及公司电子邮件。 (在下面列为假电子邮件)

电子邮件包括已填充单元格的标题以及内容,并省略未填充的列。电子邮件主题包括:表格中的3个必填字段。

根据提交表单设置触发器。我也很好重写。这个脚本现在已经有几年了。

function email()
{
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Master");  
// this used to sort sheet first - sheet.sort(1, true);
var Response = new Array(50);
var Header =new Array(50);
var j=0;
var row=sheet.getLastRow();
var userEmail=sheet.getRange(row,4,1,1).getValue();
var str="";
var str1="";
for(var i=1; i<=sheet.getLastColumn();i++)
{
if(sheet.getRange(row,i,1,1).getValue()!="")
{
  Response[j]=sheet.getRange(row,i,1,1).getValue();
  Header[j]=sheet.getRange(1,i,1,1).getValue();

Logger.log(Response[j]);
Logger.log(Header[j]);
   str = str + Header[j] + ":\t" + Response[j]+ '\n';
  if(Header[j]=="Full Name"||Header[j]=="Vehicle type"||Header[j]=="Serial Number")
    str1 = str1 + Response[j]+ ':\t';
  if(Header[j]=="Vehicle type")
    str=str+'\n';

j++;
   sheet.getRange(sheet.getLastRow(),4,1,1).setNote("emailed");
}
}

Logger.log(str);
GmailApp.sendEmail("email@fakeaddress.com" + "," + userEmail, str1, str);  
}

1 个答案:

答案 0 :(得分:0)

试试这个:

function email()
{
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Master");  
  var row=sheet.getLastRow();
  var userEmail=sheet.getRange(row,4,1,1).getValue();
  var str="";
  var str1="";
  for(var i=1; i<=sheet.getLastColumn();i++)
  {
    if(sheet.getRange(row,i,1,1).getValue()!="")
    {
      var r=sheet.getRange(row,i,1,1).getValue();
      var h=sheet.getRange(1,i,1,1).getValue();
      Response.push(r);
      Header.push(h);
      str+=h + ":\t" + r + '\n';
      if(h=="Full Name"||h=="Vehicle type"||h=="Serial Number")
      {
        str1+= r + ':\t';
      }
      if(h=="Vehicle type")
      {  
        str+='\n';
      }
      sheet.getRange(sheet.getLastRow(),4,1,1).setNote("emailed");
    }
  }
  Logger.log(str);
  GmailApp.sendEmail(userEmail, str1, str {cc:email@fakeemail.com});  
}