Skip to content

Instantly share code, notes, and snippets.

@somidad
Last active December 25, 2016 12:54
Show Gist options
  • Save somidad/fc098a3b3815d277f4e147c801f6bdb8 to your computer and use it in GitHub Desktop.
Save somidad/fc098a3b3815d277f4e147c801f6bdb8 to your computer and use it in GitHub Desktop.
function gmail_schedule_delete() {
var current = new Date();
var onedaymilli = 24 * 60 * 60 * 1000;
Logger.log("Current date: " + current);
var label_common = "(schedule delete)/after ";
var sublabels = [["1 week", 7],
["2 weeks", 14],
["1 month", 30],
["3 months", 90],
["6 months", 180],
["1 year" ,365]];
for (var i = 0; i < sublabels.length; i++) {
var label_name = label_common + sublabels[i][0];
var label_days = sublabels[i][1];
Logger.log(label_name + " (" + label_days + " days)");
var label = GmailApp.getUserLabelByName(label_name);
var threads = label.getThreads();
for (var j = 0; j < threads.length; j++) {
var sub = threads[j].getFirstMessageSubject();
var date = threads[j].getLastMessageDate();
Logger.log(sub + ": " + date);
var elapsed = (current - date) / onedaymilli;
if (elapsed <= label_days) {
Logger.log(elapsed + " days passed <= " + label_days + " days, safe!");
continue;
}
Logger.log("will be deleted");
threads[j].moveToTrash();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment