← All Apps Scripts templates
/
Send email (custom HTML) at scale

Send email (custom HTML) at scale

  1. Create a new Google Sheets file
  2. Go to Extensions → Apps Script
  3. Remove all the code and copy-paste the following instead
  4. Save your project and go back to your sheet
  5. Use sendUser(), onOpen(), like classic Google Sheets Formula

The 2 new functions in Google Sheets:


sendUser()
onOpen()

The code to paste in Apps Script inside Google Sheets:


function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('send email').addItem('Approve', 'approver').addToUi()
}

function approver() {
  const ui = SpreadsheetApp.getUi();
  const row = SpreadsheetApp.getActiveSheet().getActiveCell().getRow();
  Logger.log(row);
  const data = SpreadsheetApp.getActiveSheet().getRange(row, 1, 1, 3).getValues()[0];
  const user = {
    first: data[0]
    , last: data[1]
    , email: data[2]
    , row: row
  };
  Logger.log(user);
  const res = ui.alert('Send to ' + user.first + '(' + user.email + ')?', ui.ButtonSet.YES_NO);
  if (res == ui.Button.YES) {
    sendUser(user);
  }
  Logger.log(res);
}

function sendUser(user) {
  //let message = '

Hello World

'; const temp = HtmlService.createTemplateFromFile('temp'); temp.user = user; const message = temp.evaluate().getContent(); MailApp.sendEmail({ to: user.email , subject: 'Tester' , htmlBody: message }); SpreadsheetApp.getActiveSheet().getRange(user.row, 4).setValue('sent'); }

Reach us if the process is unclear or if the script is outdated
Apps Scripts template

Send email (custom HTML) at scale

Last updated
3/4/2023
Built by
Avatar Placeholder
internal