Google Docs Macros - Send Mail

G
Published in: Google Apps Script

With Google Docs, you can send personalized email in rich-text HTML format to a large group of people using Mail Merge. This snippet of Google Apps Script is responsible for sending the messages.

function labnolSendEmail() {

  var mySheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  var emailSubject    = mySheet.getRange("E5").getValue();
  var emailSalutation = mySheet.getRange("E7").getValue();
  var emailBody       = mySheet.getRange("E9").getValue();
  var emailYourName   = mySheet.getRange("E11").getValue();
  var emailYourAddr   = Session.getUser().getEmail();
  var replyToAddr     = mySheet.getRange("E13").getValue();
  var file            = mySheet.getRange("E15").getValue();
  var attachmentID    = file?DocsList.getFileById(file):"";
  var emailBCC        = mySheet.getRange("E17").getValue();

  var myContact = mySheet.getDataRange().getValues();

  for (i=1; i < myContact.length; i++) {
    var person = myContact[i];
    if (person[0] != "" && person[1] != "" && person[2] != "OK") {
      var emailMsg = emailSalutation + " "
            + person[0] + ", <br />" + emailBody;
      var advancedArgs = {htmlBody:emailMsg,
            name:emailYourName, replyTo:replyToAddr};

      if (file)
          advancedArgs["attachments"] = attachmentID;

      if (emailBCC == "YES")
         advancedArgs["bcc"] = emailYourAddr;

      GmailApp.sendEmail(person[1],
         emailSubject, emailMsg, advancedArgs);

      mySheet.getRange(i+1,3).setValue("OK");
    }
  }
}
Published in: Google Apps Script

Looking for something? Find here!

Meet the Author

Web Geek, Tech Columnist
A
Amit Agarwal

Amit Agarwal is a Google Developer Expert in GSuite and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India. Read more on Lifehacker and YourStory

Get in touch