【发布时间】:2021-02-25 19:15:07
【问题描述】:
所以基本上,我的 WebApp 直到昨天都运行良好。今天突然报这个错误。仍在向所有已填充的单元格发送电子邮件,并且在发送后最后给出此错误。 我编码这个
function sendMailfj() {
var first = 0;
var last = 1;
var email = 2;
var aliases = GmailApp.getAliases();
//Logger.log(aliases[2]);
var emailTemp = HtmlService.createTemplateFromFile("emailfj");
var ws = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FJ");
var data = ws.getRange("A2:C" + ws.getLastRow()).getValues();
data.forEach(function(row){
emailTemp.fn = row[first];
emailTemp.ln = row[last];
var htmlMessage = emailTemp.evaluate().getContent();
GmailApp.sendEmail(
row[email],
"Your Recent Shopping Experience with XYZ Jackets",
"Your email doesn't support HTML",
{'from':aliases[2], name: "XYZ Jackets", htmlBody: htmlMessage}
);
});
}
console.log(row[email]) 里面 data.forEach() 是
电子邮件是正确的,我的应用程序可以将电子邮件发送到此地址或任何其他原始地址(如果有)。但是在发送电子邮件后,会产生错误
对不起,我不擅长 JS
【问题讨论】:
-
row[email]存在明显问题。为什么不简单地在错误发生之前检查该变量的值是什么?例如,将console.log(row[email])放入data.forEach并查看消息的执行日志。然后在此处编辑您的问题以包含该信息。 -
嗯,您遇到了两个不同的错误?最后一个屏幕截图显示您的代码无法在(6 或 30 分钟)的配额时间内完成。这与 JS 无关。您的代码几乎是最佳的。问题与您要发送的电子邮件量有关。
-
电子邮件量仅为每天 4 到 5 封电子邮件。根据 Google,我们的帐户有资格每天发送 100 封电子邮件
-
只有一个错误。
-
如果您在上一个屏幕截图中看到您共享的脚本执行时间超过 6 分钟。它从 2:22:57 开始,6 分钟后在 2:28:57 中断。这里不是关于邮件配额,是关于6分钟的时间配额限制。你有多少行?你认为它会延迟这个过程吗?因为如果您在 6 分钟内仅发送 5 封电子邮件,这意味着每封电子邮件脚本需要 1 分钟,根据您的代码,我无法理解为什么。
标签: javascript google-apps-script google-sheets