Skip to content

Instantly share code, notes, and snippets.

@Nirav-Madhani
Created December 17, 2021 07:29
Show Gist options
  • Select an option

  • Save Nirav-Madhani/bcc89d02469aae96112c5fa9bef045e6 to your computer and use it in GitHub Desktop.

Select an option

Save Nirav-Madhani/bcc89d02469aae96112c5fa9bef045e6 to your computer and use it in GitHub Desktop.
Auto Delete Old Emails
/*
Sources:
https://stackoverflow.com/a/44558114/12907462
https://gist.github.com/jamesramsay/9298cf3f4ac584a3dc05
*/
var TRIGGER_NAME = "auto_delete_email";
function Intialize() {
return;
}
function Install() {
// First run 2 mins after install
ScriptApp.newTrigger(TRIGGER_NAME)
.timeBased()
.at(new Date((new Date()).getTime() + 1000*60*2))
.create();
// Run daily there after
ScriptApp.newTrigger(TRIGGER_NAME)
.timeBased().everyDays(1).create();
}
function Uninstall() {
var triggers = ScriptApp.getProjectTriggers();
for (var i=0; i<triggers.length; i++) {
ScriptApp.deleteTrigger(triggers[i]);
}
}
function auto_delete_email(){
//delete_Label ("Cameras",30);
//delete_Label ("Travel",365);
delete_Category ("Social",90);
//delete_Category ("Finance",365*3);
delete_Category ("Forums",90);
//delete_Category ("Promos",365*3);
delete_Category ("promotions",365*3)
}
function delete_Label(mailLabel,delayDays) {
var label = GmailApp.getUserLabelByName(mailLabel);
if (!label) {return false;}
var maxDate = new Date();
maxDate.setDate(maxDate.getDate()-delayDays);
var threads = label.getThreads();
for (var i = 0; i < threads.length; i++) {
if (threads[i].getLastMessageDate()<maxDate){
threads[i].moveToTrash();
}
}
}
function delete_Category(mailCategory,delayDays) {
var maxDate = new Date();
maxDate.setDate(maxDate.getDate()-delayDays);
var threads = GmailApp.search('category:' + mailCategory);
console.log(threads.length);
for (var i = 0; i < threads.length; i++) {
if (threads[i].getLastMessageDate()<maxDate){
threads[i].moveToTrash();
//console.log(threads[i].getFirstMessageSubject());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment