Автоматическое распределение почты по месяцам в gmail

Появилась задача: для большого количества писем и цепочек присвоить метку с датой год/месяц. Можно было бы сделать вручную, но этот способ не для нас. Мы задействуем google script. Итак, открываем страницу для разработчиков google script и нажимаем кнопку «Start» и создаем «Пустой проект».

gs

После этого опишем сам скрипт. Внимательный читатель заметит, что я использовал цикл for, хотя можно было бы обойтись без него. Я решил оставить именно такой способ, потому что вам, возможно, понадобятся какие-то дополнительные обработки цепочки.

function myFunction() {
  //метка, которой принадлежат письма, которые мы будем раскладывать по меткам с датами
  var label = GmailApp.getUserLabelByName("myoldlabel");
  //ищем по метке ВХОДЯЩИЕ цепочки
  var threads = label.getThreads();
  //Обходим цепочки
  for (var i = 0; i < threads.length; i++) {
    //Возьмем дату последнего письма в цепочке и приведем к виду yyyy-MM
    var new_label_name=Utilities.formatDate(threads[i].getLastMessageDate(), "GMT", "yyyy-MM");
    //Создаем новую метку 
    GmailApp.createLabel(new_label_name);
    //Удаляем старую метку ВХОДЯЩИЕ
    label.removeFromThread(threads[i]);
    //Получим объект метка по имени
    var nl = GmailApp.getUserLabelByName(new_label_name);
    //И прицепим цепочку к метке
    nl.addToThread(threads[i]);
  }
}

После этого можно запустить скрипт на выполнение. Google запросит вас дать скрипту необходимые разрешения. Со всем соглашайтесь и запускайте скрипт повторно =)

Оставить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *