Mostrando entradas con la etiqueta template web. Mostrar todas las entradas
Mostrando entradas con la etiqueta template web. Mostrar todas las entradas

Como enviar una plantilla HTML por email con Google Apps Script


Una de las mayores funcionalides que nos da Google Apps Script es el poder automatizar tareas, por ejemplo, enviar correos electrónicos en nuestro nombre. Si le juntamos el uso de plantillas HTML tenemos un herramienta muy poderosa para poder enviar lo que queramos a quien queramos, como y cuando queramos.

Hace un tiempo os expliqué como usar templates html con Google Apps Script y como enviar un html con Google Apps Script, hoy os explicaré a unir ambos conceptos para usar templates html en el envio de correos con Google Apps Script.

El código para poder enviar plantillas HTML por correo es extremadamente fácil si usamos Google Apps Script:

index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <h1>
        Gran ejemplo sobre email templates HTML con Google Apps Script
    </h1>
     <p> <?= cosa1 ?> </p>
     <p> <?= cosa2 ?> </p>
     <p> <?= cosa3 ?> </p>
  </body>
</html>

code.gs
function Send()
{
    var output = HtmlService.createTemplateFromFile('index');
    output.cosa1  = "texto";
    output.cosa2  = "otro texto";       
    output.cosa3  = "y otro mas";
    var html = output.evaluate().getContent();
    
    MailApp.sendEmail({
      to: 'balbalbalblab@tucorrreo.com',
      subject: "Mensaje brutal con html incorporado",
      htmlBody: html
    });
}

Como podéis ver, el código es sencillo pero muy potente. Nos permite tener todo un maquetado html como queramos y modificar lo que necesitemos desde código para poder enviar mensajes personalizados.

No dudéis en hacerme llegar vuestras preguntas

Nos vemos



Como usar templates web con Google Apps Script


 Ya he escrito varios posts sobre como implementar webs con Google Apps Script (por ejemplo: webs y webs dinamicas o como hacer logins o usar iframes) pero nunca he hablado de como usar templates web con Google Apps Script.

Primero de todo hemos de explicar que son los templates web. Básicamente un template es una web parametrizada. Parte de su código, de sus variables, dependen de "algo" que nosotros le pasamos al html en el momento de servir la web.

Para que sirve un template web? La potencia que tiene es brutal y sirve para muchísimas cosas pero para lo que más lo uso yo personalmente es para que el html tenga identificadores que permitan relacionar la parte web con la parte más de servidor. Es decir, si necesito que una web introduzca o extraiga información de un spreadsheet puede resultar muy práctico indicarle al html de que spreadsheet debe pillar la información o de que sheet o bien en que fila esta la información de dicho usuario. Esto es solo para poner ejemplos, los usos son múltiples.

Ahora os dejaré un pequeño ejemplo para que podáis probar como funciona:

Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
    function Click()
    {
       var cosa1 = <?= cosa1 ?>;
       var cosa2 = <?= cosa2 ?>;
       var cosa3 = <?= cosa3 ?>;
       alert(cosa1  + "-" + cosa2 + "-" + cosa3 );
    }
    </script>
  </head>
  <body>
    <h1>
        Gran ejemplo sobre web templates con Google Apps Script
    </h1>
     <button onclick="Click()">Dale</button>
  </body>
</html>

Code.gs
function doGet(e)
{
   var output = HtmlService.createTemplateFromFile('index');
   output.cosa1  = "texto";
   output.cosa2  = "otro texto";       
   output.cosa3  = "y otro mas";
   return output.evaluate();
 }

Como nota adicional tengo que explicar que el uso de templates html con Google Apps Script es increiblemente poderoso cuando lo usamos para enviar plantillas html por correo.

Espero que os haya servido. No vaciléis en hacerme llegar vuestras dudas

Nos vemos

NOTA: Muy relacionado con este tema también tengo un artículo que puede interesarte sobre como como hacer un iframe de un google apps script

Tal vez te interese