Gmail Auto Purge, written in Google Scripts, will automatically delete messages belonging to a particular label in Gmail after their retention periods expire.
Some Gmail users receive log files and other non-essential email where only the recent messages are of importance. Auto-purge can help you get rid of these messages without you have to run the clean-up process manually.
// 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