THIS SCRIPT IS INTENDED TO ITERATE DOWN A LIST OF SPREADSHEET DATA AND SEND A HTML FORMATTED EMAIL WITH THAT DATA TO MY EMAIL ADDRESS. CODE.GS IS TO PASS THE VARIABLES TO INDEX.HTML SO THEY CAN BE FORMATTED NICELY AND SENT AS A HTML TEMPLATE. DATE: 09/09/2015 JFKAESE @ GMAIL . COM
CODE.GS
// THIS FUNCTION TAKES THE ITERATOR VARIABLE TO GO DOWN SHEET DATA
function emailBody(i){
//GET SPREADSHEET BY ID AND SHEET NAME
var ss = SpreadsheetApp.openById('1Wc0j3twn1i-ug-lCsWOxyk-8u9t21Vr_xJH9wVu4KTk');
var sheet = ss.getSheetByName('Sheet1');
// GET DATA AND RETURN IT FOR THE HTML BODY
var item1 = sheet.getRange(i,1).getValue();
var item2 = sheet.getRange(i,2).getValue();
return [item1, item2];
}
// THIS FUNCTION LOOPS < 5 FOR TESTING PURPOSES BUT SHOULD GO
// UNTIL THE LAST ROW OF DATA
function looper() {
for (var i = 1; i < 5; i++){
// LOG THE OUTCOME -- WORKING PERFECT.
// I NEED TO SEND THE DATA TO THE INDEX.HTML FOR FORMATTING
Logger.log(emailBody(i));
}
}
// THIS FUNCTION IS TO SEND THE EMAILS TO MY EMAIL ADDRESS
function sendEmails() {
var template = HtmlService.createTemplateFromFile('Index');
var body = template.evaluate().getContent();
// SEND THE EMAIL
MailApp.sendEmail({
subject:"Test Email",
to:"[email protected]",
htmlBody: body,
});
}
INDEX.HTML
<!DOCTYPE html>
<html>
<body style="background-color:#F5F5F5">
<p><? var data = emailBody(); ?></p>
<p><? var item1 = data[0]; ?></p>
<p><? var item2 = data[1]; ?></p>
<p><?= item1 ?>
<p><?= item2 ?>
</body>
</html>