Search code examples
google-apps-scripthtml-emailtemplate-engine

Evaluate Then send HTML From MailApp Emails


Have a html file within my google script project.

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <h1> <?= Sales().yesterday ?></h1>
    <h1>Test</h1>
  </body>
</html>

How can i send that HTML using MailApp?

function Email() {     
  function doGet() {
    return HtmlService
      .createTemplateFromFile('html')
      .evaluate();
  }
  MailApp.sendEmail({
      to:"email",
      subject: 'email',
      htmlBody: doGet()
    });
}

When i send email, It does not output the return of Sales() function.


Solution

  • Try it this way:

    function viewSales(){
      var rObj={'yesterday':'$10000.00'};
      return rObj;
    }
    
    function sendEmail() {     
      var html='<!DOCTYPE html><html><head><base target="_top"></head><body><h1> <?= viewSales().yesterday ?></h1><h1>Test</h1></body></html>';
      MailApp.sendEmail({to:"email@email.com",subject:"Sales Email",htmlBody: HtmlService.createTemplate(html).evaluate().getContent()});
    }