Mail merge con Google Apps Script


Anteriormente ya os he explicado en este blog bastantes cosas referentes a enviar emails con Google Apps Script tales como enviar un email diario  o como enviar un PDF en un email pero lo que nunca os he explicado es como hacer una lista de distribución de correos con Google Apps Script.

En muchas ocasiones podemos necesitar enviar correos a más de una persona a la vez: notificaciones, avisos, recordatorios. Sabiendo lo básico de como enviar un email con Google Apps Script poder enviar un email a más de un destinatario a la vez, es trivial.

Todo el truco esta en poner la lista de destinatarios separados por comas, nada más. Aquí teneis el ejemplo de como enviar un email con un HTML a multiples usuarios:

Code.gs

function Send()
{
    var output = HtmlService.createTemplateFromFile('index');
    output.cosa1  = "texto generico";
    output.cosa2  = "otro texto generico";       
    output.cosa3  = "y otro mas";
    var html = output.evaluate().getContent();
    
    var values = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Emails").getDataRange().getValues();
    
    var email_list = "";
    for (var i = 1 ; i < values.length ; ++i )
    {
       if(email_list != "")
       {
          email_list += ",";
       }
       
       if(values[i][0] != "" )
       {
         email_list += values[i][0];
       }
    }
    
    MailApp.sendEmail({
      to: email_list,
      subject: "Mensaje broadcast con html incorporado",
      htmlBody: html
    });
}


index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <h1>
        Este mensaje se ha enviado a multiples personas
    </h1>
     <p> <?= cosa1 ?> </p>
     <p> <?= cosa2 ?> </p>
     <p> <?= cosa3 ?> </p>
  </body>
</html>

La lista de destinatarios la tendremos en una columna de un spreadsheet de esta manera:

Lista de destinatarios para enviar correos con Google Apps Script

Si lo probáis, veréis que es muy fácil

Quedo a vuestra disposición por si tenéis alguna duda.

Nos vemos!

No hay comentarios:

Publicar un comentario

Tal vez te interese