Advertisement
Guest User

Gmail Purge

a guest
May 5th, 2017
1,298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var GMAIL_SELECTORS = [
  2.   "from:(duyuru@kangurum.com) older_than:30d", // Migros
  3.   "list:(f42dcf5117b457f8c8b54c70e.74389.list-id.mcsv.net) older_than:30d", // Portakal Bahçem
  4.   "from:(firsat@gruppalduyuru.com) older_than:15d", //Gruppal
  5.   "list:(posta.gittigidiyor.com) older_than:15d", // Gittigidiyor
  6.   "list:(email.gap.com.tr) older_than:15d", // GAP.com.tr
  7.   "list:(e-flypgs.com) older_than:30d", // Pegasus
  8.   "from:(duyuru@migrosduyuru.com) older_than:15d", // Money
  9.   "list:(enews.beymen.com) older_than:15d", // Beymen
  10.   "list:(shop.mavi.com) older_than:15d", // Mavi
  11.   "from:(promotion@aliexpress.com) older_than:15d", // Aliexpress
  12.   "from:(columbia@ebultenim.com) older_than:30d", // Columbia
  13.   "list:(news.yemeksepeti.com) older_than:10d", // Yemeksepeti
  14.   "list:(e.zubizu.com) older_than:10d", // Zubizu
  15.   "from:(zcworld@ebultenim.com) older_than:15d", // Zorlu
  16.   "from:(BILGI@ticketmasterbiletix.com) older_than:15d", // Biletix
  17.   "from:(bulten@enuygun.com) older_than:20d", // EnUygun
  18. ];
  19.  
  20. var COMMON_SELECTOR = "category:promotions -label:dikkate-değer";
  21.  
  22. var LIMIT = 10;
  23. var NEXT_MIN = 2;
  24.  
  25. //--
  26.  
  27. function Initialize() {
  28.   return;
  29. }
  30.  
  31. function Install() {
  32.  
  33.   ScriptApp.newTrigger("purgeGmail")
  34.            .timeBased()
  35.            .at(new Date((new Date()).getTime() + 1000*60*NEXT_MIN))
  36.            .create();
  37.  
  38.   ScriptApp.newTrigger("purgeGmail")
  39.            .timeBased().everyDays(1).create();
  40.  
  41. }
  42.  
  43. function Uninstall() {
  44.  
  45.   var triggers = ScriptApp.getScriptTriggers();
  46.   for (var i=0; i<triggers.length; i++) {
  47.     ScriptApp.deleteTrigger(triggers[i]);
  48.   }
  49.  
  50. }
  51.  
  52. function purgeGmail() {
  53.   var next = false;
  54.   for(var k = 0; k < GMAIL_SELECTORS.length; k++) {
  55.     var selector = GMAIL_SELECTORS[k] + " " + COMMON_SELECTOR;
  56.     try {
  57.       Logger.log(selector + " işleniyor...");
  58.       var threads = GmailApp.search(selector, 0, LIMIT);
  59.    
  60.       if (threads.length == LIMIT) {
  61.         next = true;
  62.         Logger.log("E-posta sayısı " + LIMIT + " veya daha fazla");
  63.       } else {
  64.         Logger.log("E-posta sayısı " + threads.length);
  65.       }
  66.    
  67.       for (var i=0; i<threads.length; i++) {
  68.         var messages = GmailApp.getMessagesForThread(threads[i]);
  69.         for (var j=0; j<messages.length; j++) {
  70.           var email = messages[j];
  71.           email.moveToTrash();
  72.         }
  73.       }
  74.    
  75.     } catch (e) {
  76.       Logger.log(e);
  77.     }
  78.     Logger.log(selector + " işlenmesi bitti!");
  79.   }
  80.  
  81.   if(next) {
  82.      Logger.log("Sırada bekleyen işler programlandı!");
  83.      ScriptApp.newTrigger("purgeGmail")
  84.                .timeBased()
  85.                .at(new Date((new Date()).getTime() + 1000*60*NEXT_MIN))
  86.                .create();            
  87.   }
  88.  
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement