Estoy enviando correos electrónicos usando google appscript. Tenía 1500 DailyQuata antes de ejecutar mi código una vez que envió 3 correos electrónicos, pero mi cuota diaria se convierte en 1485 después. como envié 3 correos electrónicos, solo debería haber bajado por 3
Límite de cuota diaria que muestra 1485
Mi hoja de cálculo es la siguiente google Spreedsheet
código completo
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"); } }He verificado el valor de last_row it 4 para que el ciclo se ejecute solo 3 veces.
editar: utilicé la función sendFormToAll () para enviar correos electrónicos
Como se indica en esta publicación , ¿cómo hago para que la cuota de correo diaria restante del servicio de scripts de aplicaciones de Google funcione de manera consistente? , y en muchas otras solicitudes de Issue Tracker en los comentarios:
Es un comportamiento interno en Apps Script y, por lo tanto, se espera.
Si de alguna manera esto afecta su flujo de trabajo, puede intentar verificar su cuota al menos una hora después de enviar correos electrónicos para estabilizar los valores.