Created
December 17, 2021 07:29
-
-
Save Nirav-Madhani/bcc89d02469aae96112c5fa9bef045e6 to your computer and use it in GitHub Desktop.
Auto Delete Old Emails
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| 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