I use Google Apps email to send out details of a product I sell to people who enquire about it via a web form.

After a month or so I go through my Sent Mail folder and send a follow up email to all those I haven't heard off. Each email is the same except for the person's name in the greeting.

So in summary, periodically I need to send the same email to recipients in my Sent Mail folder that meet certain criteria: I emailed them in the past 2 months, the subject of the email was "My Super Product", I haven't had a reply off them since my last email.

Is there any tool available that can do this automatically?

3 Answers 3


Gmail filters only act on messages when they arrive. There's not a way to do what you want with filters.

For a pure Gmail solution, you can accomplish almost what you want by judicious use of search and the Canned Responses Lab. That will make sending identical messages to a bunch of people relatively easy.

Another option would be to use some third-party tool. You can get your email via POP3 or IMAP, so virtually any desktop email client can get your messages. There are probably tools out there that will allow you to do what you're looking for. (That's outside the ken of WebApps, though.)

Alternatively, what you really need is a Customer Relationship Management (CRM) solution. Salesforce.com and its ilk probably already have the tools that you want.


You should try Boomerang, I think it will do what you want

Schedule an email to be sent later. Easy email reminders.
Boomerang for Gmail is a Firefox / Chrome plugin that lets you take control of when you send and receive email messages.

  • Could you expand on that a little? In what way?
    – ale
    Sep 22, 2012 at 3:17

Modified the sample code in GmailApps a little. Spreadsheet contains, Name, email, date (m/d/yyyy), text. worked fine for me.

function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  //var mSheet = sheet.getSheets()[0];

  var startRow = 2;  // First row of data to process
  var numRows = sheet.getLastRow()-1;   // Gets last number of rows to process
  var tDate = new Date();
  var tFormat = tDate.getMonth()+1 + "/" + tDate.getDate() + "/" + tDate.getYear();

  // Fetch the range of cells A2:D2
  var dataRange = sheet.getRange(startRow, 1, numRows, 4)
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    var emailAddress = row[1];  // Second column
    var message = "Dear " + row[0] + ", \n\n" + row[3] + "\n\nCheers";       // Fourth column
    var dFormat = row[2].getMonth()+1 + "/" + row[2].getDate() + "/" + row[2].getYear();
    if (dFormat == tFormat){
      var subject = "Hi";
      MailApp.sendEmail(emailAddress, subject, message);
  • 1
    The OP is specifically asking about Gmail. Your solution appears to use data stored in a Google Spreadsheet? Can this directly reference Gmail instead?
    – MrWhite
    Nov 8, 2013 at 14:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.