Como enviar un email diario con Google Apps Script


 Seguro que en algún momento has necesitado que un correo se enviara cada día a cierta hora: un recordatorio, una lista de tareas, etc... Con Google Apps Script esto es terriblemente fácil.

Todo lo que os explicaré hoy no es más que un recordatorio de otros artículos que ya he ido publicando.  Básicamente usaremos como enviar una plantilla HTML por email y como crear triggers con Google Apps Script.

Que es lo que haremos? Algo sencillo, cada día, a las 8 de la mañana enviaremos un correo con la información que tendremos  en un spreadsheet. Fácil no?

En este ejemplo , la tabla de donde sacaremos la información a mostrar en el correo tendrá esta forma: 

Como enviar un correo cada dia con Google Apps Script


Aquí tenéis el código:

Code.gs

function CrearTriggerDiario()
{
    ScriptApp.newTrigger("SendEmail")
      .timeBased()
      .atHour(8)
      .everyDays(1)
      .create();
}

function SendEmail()
{
    var values = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getDataRange().getValues();
    
    var output = HtmlService.createTemplateFromFile('index');
    output.Tarea  = values[1][0];
    output.Horas   = values[1][1] ;       
    output.Who     = values[1][2] ;
    var html = output.evaluate().getContent();
    
    MailApp.sendEmail({
      to: 'balbalbalblab@tucorrreo.com',
      subject: "Recordatorio de tareas",
      htmlBody: html
    });
}


index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <h1>
        Tareas
    </h1>
     <p> <?= Tarea ?> </p>
     <p> <?= Horas ?> horas </p>
     <p> <?= Who ?> </p>
  </body>
</html>


Para instalar el trigger solo tenéis que ejecutar la función CrearTriggerDiario ( cuidado que cada vez que lo ejecutéis se instalará otro trigger ). 


No hay comentarios:

Publicar un comentario

Tal vez te interese