将数组变量分配为收件人时,MailApp.sendEmail返回奇怪的错误

时间:2019-06-01 13:50:03

标签: javascript email google-sheets

我只是试图在Google表格中使用脚本来发送一些电子邮件,但收到一个奇怪的错误代码。

故障是否与存储的数组变量周围的括号有关?

我想念什么?

如果我在脚本中手动输入电子邮件地址,则所有这些都有效。如果我使用简单的变量赋值而不是数组,那么它将起作用。

但是我看到了许多示例,其中在sendEmail语法的“收件人”或“收件人”字段中使用了数组变量。

 //Code A - this works
 for(var x=0; x <= emails.length; x++){
   if(checkedCells[x] = "True" && emails[x] != ""){ 

   console.log(emails[x]);
   var testEmail = "me@me.com";

      MailApp.sendEmail({
         to: testEmail,
         replyTo: replyEmail,
         subject: subjectLine,
         Body: messageBody,

      });

   }
 }


 //Code B - this gives an error
 for(var x=0; x <= emails.length; x++){
   if(checkedCells[x] = "True" && emails[x] != ""){ 

   console.log(emails[x]);

      MailApp.sendEmail({
         to: emails[x],
         replyTo: replyEmail,
         subject: subjectLine,
         Body: messageBody,

      });

   }
 }

代码A可以正常工作。

代码B不发送电子邮件,每次都给出不同的错误,始终以“ ERROR”开头 无效的电子邮件:[L],并以随机字符结尾,例如“ ;; sendScreener(Code:690)处的@ 388e5b32”

我在Stackdriver日志中注意到testEmail结果 me@me.com

电子邮件[x]导致 [me@me.com]

...因为它是一个数组变量。这有关系吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

已解决...只需在数组后添加“ .toString()”即可。

to: emails[x].toString()