From Wiki2
cleanUp old emails
- select emails of the type you want to get rid of after a bit of time and filter them to 'temp' folder
- cleanUp script will run every hour and get rid of them after `delayDays`
function cleanUp() {
var delayDays = 9 // Enter # of days before messages are moved to trash
var maxDate = new Date();
maxDate.setDate(maxDate.getDate()-delayDays);
var label = GmailApp.getUserLabelByName("temp");
var inc = 100;
var start = 0;
do {
var threads = label.getThreads(start,inc);
Logger.log(threads.length)
for (var i = 0; i < threads.length; i++) {
Logger.log(threads[i].getLastMessageDate())
if (threads[i].getLastMessageDate()<maxDate)
{
threads[i].moveToTrash();
}
}
start += inc;
} while(threads.length===inc);
}
getThreads has a max of 500 so you have to do them in chunks