Google Gmail скрипт, который срабатывает при входящей электронной почте - PullRequest
0 голосов
/ 26 апреля 2018

Я перебираю аддонов gmail .У них есть контекстные триггеры, которые срабатывают при открытии электронной почты.

Можно ли вызвать службу, когда я получаю электронную почту?Лучшее, что я могу найти, это unconditional, но оно срабатывает только при открытии письма.

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

У меня были небольшие проблемы с правильной настройкой ярлыков, поэтому я включил код для регистрации ярлыков.Я изменил код user3312395, чтобы добавить новую метку.Спасибо за оригинальный ответ тоже!

function emailTrigger() {

  var label = GmailApp.getUserLabelByName('Name of Label to Process');
  var newLabel = GmailApp.getUserLabelByName('New Label Name');

  if(label != null){
    var threads = label.getThreads();
    for (var i=0; i<threads.length; i++) {
      //Process them in the order received
      threads[i].removeLabel(label);
      threads[i].addLabel(newLabel);
      //run whatever else here
    }
  }

}

function getLabels(){
  var labels = GmailApp.getUserLabels();
  for(i=0; i<labels.length; i++){
    Logger.log(labels[i].getName());
  }
}
0 голосов
/ 26 апреля 2018

Вы не можете создать триггер для каждого письма, однако вы можете сделать что-то подобное , как описано в этом ответе .

Например, вы можете:

  1. Настроить фильтр, который помещает специальный ярлык на входящие электронные письма, которые вы хотите обработать.

  2. Настройте повторяющийся скрипт, который запускается каждые 10 минут или даже каждую минуту.В сценарии вы можете извлечь все электронные письма, которые имеют данную метку, и обработать их соответствующим образом, удалив метку, когда вы закончите.

function processEmails() {
  var label = GmailApp.getUserLabelByName("Need To Process");
  var threads = label.getThreads();  
  for (var i = threads.length - 1; i >= 0; i--) {
    //Process them in the order received
    threads[i].removeLabel(label).refresh();
  }
}

Затем вы можете установить этуна основанном на времени триггере , чтобы он запускался так часто, как вам хотелось бы.

Если вы хотите отслеживать обработанные вами электронные письма, вы можете создать еще один «обработанный» ярлык идобавьте это к сообщению, когда закончите обработку.

...