Tuesday, May 4, 2021
HomeDevelopmentDelete Gmail Messages in Bulk with Google Scripts

Delete Gmail Messages in Bulk with Google Scripts

- Advertisement -
- Advertisement -

Gmail Auto Purge, written in Google Scripts, will consequently erase messages having a place with a specific mark in Gmail after their maintenance periods lapse.

Some Gmail clients get log records and other insignificant email where just the new messages are of significance. Auto-cleanse can assist you with disposing of these messages without you need to run the tidy up cycle physically.

// The name of the Gmail Label that is to be autopurged?
var GMAIL_LABEL = "Newsletters";

// Purge messages automatically after how many days?
var PURGE_AFTER = "10";

function purgeGmail() {

  var age = new Date();
  age.setDate(age.getDate() - PURGE_AFTER);

  var purge  = Utilities.formatDate(age, Session.getTimeZone(), "yyyy-MM-dd");
  var search = "label:" + GMAIL_LABEL + " before:" + purge;

  // This will create a simple Gmail search
  // query like label:Newsletters before:10/12/2012

  try {

    // We are processing 100 messages in a batch to prevent script errors.
    // Else it may throw Exceed Maximum Execution Time exception in Apps Script

    var threads = GmailApp.search(search, 0, 100);


    // For large batches, create another time-based trigger that will
    // activate the auto-purge process after 'n' minutes.

    if (threads.length == 100) {
      ScriptApp.newTrigger("purgeGmail")
               .timeBased()
               .at(new Date((new Date()).getTime() + 1000*60*10))
               .create();
    }

    // An email thread may have multiple messages and the timestamp of
    // individual messages can be different.

    for (var i=0; i<threads.length; i++) {
      var messages = GmailApp.getMessagesForThread(threads[i]);
      for (var j=0; j<messages.length; j++) {
        var email = messages[j];
        if (email.getDate() < age) {
          email.moveToTrash();
        }
      }
    }

  // If the script fails for some reason or catches an exception,
  // it will simply defer auto-purge until the next day.
  } catch (e) {}

}
- Advertisement -
namanmahajanhttp://artistogram.in
I am a Multimedia artist, I am born and based on Dewas (M.P), I am working as a freelancer with various brands and different country. My expertise are Graphics designing, motion graphics, 2d/3d animation, advertising videos, cartoons designing, all types of packaging and branding designing, digital marketing, SEO, design website and app Developments etc...

Leave a Reply

- Advertisment -
- Advertisment -

Most Popular

- Advertisment -