Using Google Sheets to Send Bulk Emails For Free

Here I am giving an example to send bulk emails for free using Google Sheets.

Follow These Steps to Send Bulk Emails For Free Using Google Sheets

  1. Open Google Drive and click on the New button and choose Google Sheets.
  2. A new Google Sheet will open.
  3. In the Google sheet, create three columns email, subject, and message body and type some email addresses with subject and body text to send emails in bulk as shown in the below image.

Google Sheet send email example

  1. Now in the Google Sheets, click on the menu Tools > Script Editor.
  2. Then another tab page will open in the browser for Script editor.
  3. It will show a blank Google script. Now copy and paste the below script into the editor.
/**
 * Sends emails with data from the current spreadsheet.
 */
function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; // First row of data to process
  var numRows = 2; // Number of rows to process
  // Fetch the range of cells A2:B3
  var dataRange = sheet.getRange(startRow, 1, numRows, 3);
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    var emailAddress = row[0]; // First column
    var subject = row[1] // Second column;
    var message = row[2]; // Third column
    MailApp.sendEmail(emailAddress, subject, message);
  }
}
  1. Now click on the Save button in the script editor or press Ctrl+S to save the above script.
  2. To run the above script, click on the run button (Play Icon) or click on the menu Run > Run Function > choose your function in the script editor.
  3. It will ask you to authorize the function on the Google sheet, then click on the Allow button to confirm it.
  4. After execution of the script, you will get the emails on the specified email addresses. Below is the screen-shot of an example.

I got mail in Gmail from Google Sheets.

Explanation of the Above Google Script Code

Here I will explain you about the script code. In the above example, we have three records in the Google sheet, including the header. So you can notice in the below line that the variable startRow is set to 2 in the script to start processing from the second row. Suppose, your Google sheet doesn't have the header record you can change the value of the startRow variable to 1.

var startRow = 2; // First row of data to process
var numRows = 2; // Number of rows to process

Also, variable numRows is set to 2, suppose you have 100 email addresses to send the email then you should change the variable numRows value to 100. Below is the example:

var numRows = 100; // Number of rows to process

Reference:

See also:

This Post Has One Comment

  1. punten

    could you please make script send schedule time in column D?

Comments are closed.