在Apps脚本中按照所需格式发送电子邮件

时间:2017-08-13 05:24:07

标签: google-apps-script google-sheets

我有一个发送电子邮件的脚本,但它没有按照我想要的格式发送。 是否可以发送这样的电子邮件: - https://plnkr.co/edit/KK8rVH1xUGCO7VetgomA?p=preview

现在我的脚本发送方式如下: -

  TF,无资金,平台,链接,TF,无资金,数据,链接,日期,回合,基金,域,日期,回合,基金,域名,变更,,,,,, 7月5日 - 02,Incorporation,2037.41,Shaji Vadakke Parambath,Vinay Gupta,Add round ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, / p>

我的代码是:

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用这样的循环。如果您想获得更好的响应,我建议您以后访问电子表格,该电子表格的数据与示例一致,并且可以访问脚本编辑器。从图像中复制代码或数据很困难。这使得某人不太可能站出来帮助你。如果您自己采取代码,也将不胜感激。这段代码确实有用,我用假数据测试了它。

这将逗号分隔它发送的行中的所有值。最后一列必须为空才有资格发送,而且8列不能为空。

function SendingEmails()
{
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var startRow=5;
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var subject='Your Subject';
  var emailaddress='Your Email Address';
  for(var i=startRow-1;i<vA.length;i++)
  {
    if(!vA[i][vA[0].length-1] && vA[i][7])//not already sent and some data is available
    {
      //Logger.log('Send Mail: %s',formatAsTable(vA[i]));
      //var userInterface=HtmlService.createHtmlOutput(formatAsTable(vA[i]));
      //SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Format As Table')
      MailApp.sendEmail(emailaddres,subject,vA[i].join(','))
      sh.getRange(i+1,vA[0].length).setValue('mailsent');
    }
  }
}

function formatAsTable(vA)
{
  var s='<style>table{border:1px solid #000;}th,td{border:1px solid #000;}"</style><table><tr>';
  for(var i=0;i<vA.length-1;i++)
  {
    s+='<td>' + vA[i] + '</td>';
  }
  s+='</tr></table>';
  return s;
}

答案 1 :(得分:0)

我建议您安装SheetConverter(由David Bingham(Mogsdad)创建)。谷歌它和它提供了有关如何安装库的很好说明。我修改了给出的例子:

ImportError: No module 'pyspark'

它发送了一个测试,我完美地设置了你的数据。