My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more
A mail merge script for Gmail in 15 lines of code

A mail merge script for Gmail in 15 lines of code

Thanks to Google Apps Script, it's very easy to send a mass emails from a Gmail account.

Corentin Brossault's photo
Corentin Brossault
·Apr 14, 2021·

3 min read

Sending mass emails from Gmail is sometimes seen as a challenge. I can tell you it's not! In this article we'll look at the basics of building a mail merge script for Gmail and how it can fit your email marketing needs.

First, here's what you need to send emails in bulk with Gmail:

  • a Gmail (or Google Workspace) account
  • a list of contacts
  • a template of the emails you want to send
  • basic development skills

Now let's see the 6 steps to reproduce to create your Google script to send emails.

Tutorial: Building a mail merge script for Gmail

  1. Open Google Apps Script
  2. Click on the "New project" button to create a new project.
  3. You should now see the script editor. Google Apps Script editor
  4. From the editor, copy and paste the following script:

    function sendEmails() {
     const recipients = ["sally@mailmeteor.com", "neil@mailmeteor.com"];
    
     const template = {
       "subject": "My mail merge script for Gmail",
       "content": `Hi,<br><br>
    
       I just wanted to show you how to send emails in bulk with my Gmail account!<br><br>
    
       Take care,<br>
       - Corentin<br><br>
    
       PS: <a href="https://mailmeteor.com/mail-merge-gmail/script">Click here to do it by yourself</a>`
     }
    
     recipients.forEach(function (recipient) {
       MailApp.sendEmail({
         to: recipient,
         subject: template.subject,
         htmlBody: template.content
       })
     })
    }
    

    Update the recipients variable with your list of recipients. Also update the template subject and content to make it fit your needs

  5. Click on "Save" to save your changes
  6. Then click on "▶️ Run" to send your emails.

Emails are usually immediately delivered, but sometimes it takes a few seconds. Check your "Sent" folder in Gmail to confirm that all emails have been sent! As you will see, all your recipients receive a unique email sent from your email address. You don't need to use bcc or any other techniques.

Note: the first time you use this script it will ask for the permission to send emails on your behalf. Then it won't ask you again.

Conclusion

Some say that it's impossible to send emails in bulk with Gmail. It's totally untrue. Of course, this is a very basic macro for Google Sheets to send lots of emails with Gmail. You might need to adapt it a little bit more, but thanks to Google Apps Script you can do lot of things.

Before you go, here are two things to keep in mind when using Gmail as an email marketing tool:

  1. Be sure to abide by Gmail bulk senders guidelines. Especially, note that you are limited to send a reasonable amount of emails per day. If you have a @gmail.com email address, you can send at most 500 emails/day while with a Google Workspace account, you sending limit hits 2000 emails per day. That's probably well enough for 99% of Gmail users, but it's good to have in mind those limits.
  2. If you are looking for more a advanced script, for example that let you send personalized emails (e.g. Hi {{ firstname }}), I'd recommend you to use a Gmail mail merge tool such a Mailmeteor that does it for you. It already handles personalization, as well as dozens of features from attachments to aliases. Learn more about the features and benefits of Mailmeteor here.

This article is part of an extended guide on Mail merge in Gmail (2021). If you want to learn much more, go check it out!