Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌脚本自动起草电子邮件_Javascript_Google Apps Script_Google Sheets_Gmail - Fatal编程技术网

Javascript 谷歌脚本自动起草电子邮件

Javascript 谷歌脚本自动起草电子邮件,javascript,google-apps-script,google-sheets,gmail,Javascript,Google Apps Script,Google Sheets,Gmail,我的目标是从GoogleSheets列表中自动创建电子邮件草稿。一切都很正常,我唯一的问题是电子邮件中的信息只是说[object] 主题是好的,电子邮件地址是好的,阻止它再次发送给同一个人的中断是好的 我不知道怎么了。。。。但我猜它是从//构建电子邮件开始的 有什么建议吗 我有以下资料: var EMAIL\u DRAFTED=“EMAIL DRAFTED”; 函数draftPastDueEmails(){ var sheet=SpreadsheetApp.getActiveSheet();/

我的目标是从GoogleSheets列表中自动创建电子邮件草稿。一切都很正常,我唯一的问题是电子邮件中的信息只是说[object]

主题是好的,电子邮件地址是好的,阻止它再次发送给同一个人的中断是好的

我不知道怎么了。。。。但我猜它是从//构建电子邮件开始的

有什么建议吗

我有以下资料:

var EMAIL\u DRAFTED=“EMAIL DRAFTED”;
函数draftPastDueEmails(){
var sheet=SpreadsheetApp.getActiveSheet();//使用活动工作表中的数据
var startRow=2;//要处理的第一行数据
var numRows=sheet.getLastRow()-1;//要处理的行数
var lastColumn=sheet.getLastColumn();//最后一列
var dataRange=sheet.getRange(startRow,1,numRows,lastColumn)//获取活动工作表的数据范围
var data=dataRange.getValues();//获取范围中每一行的值
//完成电子表格中的每一行
对于(变量i=0;i';
emailBody+='我希望一切都好。

; emailBody+='我注意到发票'+invNum+'目前已过期。

'; emailBody+='请您花点时间检查您的记录,查看是否已付款,并提供收据,以便我在我的系统中进行跟踪。

'; emailBody+='如果由于任何原因没有付款,请尽快付款,以便我可以将其发送到您的帐户。

'; emailBody+='如果您有任何问题,请告诉我。

'; emailBody+='最佳,

'; //创建电子邮件草稿 GmailApp.createDraft( clientEmail,//收件人 '过期帐户-'+引用+//主题 '', { htmlBody:emailBody//Options:Body(HTML) } ); sheet.getRange(startRow+i,lastColumn).setValue(EMAIL\u DRAFTED);//用“EMAIL\u DRAFTED”更新最后一列 SpreadsheetApp.flush();//确保立即更新最后一个单元格 } }
}
问题似乎出在这里:

      // Create the email draft
      GmailApp.createDraft(
        clientEmail,            // Recipient
        'Past due account - '+reference+ // Subject
        '',
        {
        htmlBody: emailBody    // Options: Body (HTML)
        }
      );
该方法需要3个字符串——收件人、主题和正文——后跟带有“htmlBody”参数的选项。上述代码仅提供收件人和主题。请尝试以下方法:

      // Create the email draft
      GmailApp.createDraft(
        clientEmail,            // Recipient
        'Past due account - '+reference, // Subject
        '', // Plaintext body
        {
        htmlBody: emailBody    // Options: Body (HTML)
        }
      );

天哪,谢谢你!成功了。我一直到凌晨3点才想弄清楚到底出了什么问题……很好。这很容易,也很有效,但我花了很长时间才找到如何做到这一点。谷歌最终把我带到了这里:)