Advertisement
Guest User

GMail domain filtering (VIA)

a guest
Sep 23rd, 2014
990
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //one per line, without http:// etc, just domain-name.com or domainname.com ....
  2. var domains = [
  3.   'domainname.com',
  4. ];
  5.  
  6.   //This is not the best solution, a better solution would be to add a filter like this for example => From: #domainname.com
  7.   //and then this app would read your GMail filters and test whether it begins with # to apply the next function if so.. but I couldn't find a way to read GMail settings from here
  8.  
  9. function filterVia() {
  10.   // get all threads in inbox
  11.   var threads = GmailApp.getInboxThreads();
  12.  
  13.   for (var i = 0; i < threads.length; i++) {
  14.     Utilities.sleep(10);
  15.     // get all messages in a given thread
  16.     var messages = threads[i].getMessages();
  17.     // iterate over each message
  18.     for (var j = 0; j < messages.length; j++) {
  19.       // log message subject
  20.       var content = messages[j].getRawContent();
  21.      
  22.       for (var k = 0; k < domains.length; k++) {
  23.         //make domain name as regexp
  24.         var re = new RegExp('\\.|\\-', 'gi');
  25.         var b = domains[k].replace(re, '\\$&');
  26.         var regex = new RegExp("Received\: from .*" + b,'gim');
  27.         var does_match = regex.test(content);
  28.        
  29.         if(does_match){
  30.           //MARK AS READ (maybe spares you an unnecessary notification)
  31.           messages[j].markRead();
  32.           //DELETE THE MESSAGE
  33.           messages[j].moveToTrash();          
  34.         }
  35.        
  36.       }
  37.     }
  38.   }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement