当我只使用 appscript MailApp 发送 3 封电子邮件时,为什么我的 Gmail DailyQuota 减少了 15?
Why did my DailyQuota for Gmail go down by 15 when i only sent 3 emails using appscript MailApp?
我正在使用 google appscript 发送电子邮件
在我执行一次发送 3 封电子邮件的代码之前,我有 1500 DailyQuata,
但之后我的每日配额变成了 1485。
因为我发送了 3 封电子邮件,它应该只下降了 3
每日限额显示 1485
我的电子表格如下
google电子表格
完整代码
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Automation')
.addItem('send PDF Form', 'sendPDFForm')
.addItem('send to all', 'sendFormToAll')
.addToUi();
console.log(MailApp.getRemainingDailyQuota())
}
function sendPDFForm() {
var row = SpreadsheetApp.getActiveSheet().getActiveCell().getRow();
sendEmailWithAttachment(row);
}
function sendEmailWithAttachment(row) {
var client = getClientInfo(row);
var file = DriveApp.getFilesByName(client.filename);
if (!file.hasNext()) {
console.error("Could not open file " + client.filename);
return;
}
var template = HtmlService.createTemplateFromFile('email-template');
template.client = client;
var message = template.evaluate().getContent();
MailApp.sendEmail({
to: client.email,
subject: "Engineer's Day participation Certificate",
htmlBody: message,
attachments: [file.next().getAs(MimeType.JPEG)]
});
}
function getClientInfo(row) {
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
var values = sheet.getRange(row, 1, 1, 5).getValues();
var rec = values[0];
console.log(rec)
var client ={filename: rec[4],name: rec[1],first_name: rec[2],email: rec[3]};
return client;
}
function sendFormToAll() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
var last_row = sheet.getDataRange().getLastRow();
console.log(last_row)
for (var row = 2; row <= last_row; row++) {
sendEmailWithAttachment(row); //sending email
Utilities.sleep(300);
sheet.getRange(row, 7).setValue("email sent");
}
}
我检查了 last_row 的值是 4,所以循环只运行了 3 次。
编辑:
我使用 sendFormToAll() 函数发送电子邮件
如本 post 以及评论中的许多其他问题跟踪器请求所示:
这是有意为之的行为。
这是 Apps 脚本中的内部行为,因此是预期的。
如果这以某种方式影响了您的工作流程,您可以尝试在发送电子邮件后至少一小时检查您的配额以稳定值。
我正在使用 google appscript 发送电子邮件 在我执行一次发送 3 封电子邮件的代码之前,我有 1500 DailyQuata, 但之后我的每日配额变成了 1485。 因为我发送了 3 封电子邮件,它应该只下降了 3
每日限额显示 1485
我的电子表格如下
google电子表格
完整代码
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Automation')
.addItem('send PDF Form', 'sendPDFForm')
.addItem('send to all', 'sendFormToAll')
.addToUi();
console.log(MailApp.getRemainingDailyQuota())
}
function sendPDFForm() {
var row = SpreadsheetApp.getActiveSheet().getActiveCell().getRow();
sendEmailWithAttachment(row);
}
function sendEmailWithAttachment(row) {
var client = getClientInfo(row);
var file = DriveApp.getFilesByName(client.filename);
if (!file.hasNext()) {
console.error("Could not open file " + client.filename);
return;
}
var template = HtmlService.createTemplateFromFile('email-template');
template.client = client;
var message = template.evaluate().getContent();
MailApp.sendEmail({
to: client.email,
subject: "Engineer's Day participation Certificate",
htmlBody: message,
attachments: [file.next().getAs(MimeType.JPEG)]
});
}
function getClientInfo(row) {
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
var values = sheet.getRange(row, 1, 1, 5).getValues();
var rec = values[0];
console.log(rec)
var client ={filename: rec[4],name: rec[1],first_name: rec[2],email: rec[3]};
return client;
}
function sendFormToAll() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
var last_row = sheet.getDataRange().getLastRow();
console.log(last_row)
for (var row = 2; row <= last_row; row++) {
sendEmailWithAttachment(row); //sending email
Utilities.sleep(300);
sheet.getRange(row, 7).setValue("email sent");
}
}
我检查了 last_row 的值是 4,所以循环只运行了 3 次。
编辑: 我使用 sendFormToAll() 函数发送电子邮件
如本 post
这是有意为之的行为。
这是 Apps 脚本中的内部行为,因此是预期的。
如果这以某种方式影响了您的工作流程,您可以尝试在发送电子邮件后至少一小时检查您的配额以稳定值。