我只是试图在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]
...因为它是一个数组变量。这有关系吗?
谢谢!
答案 0 :(得分:0)
已解决...只需在数组后添加“ .toString()”即可。
to: emails[x].toString()