Отчет о непрочитанных письмах через Google Apps Script

4 Июл
2012

Начал для себя осваивать google apps script, и первое что мне нужно было, это сделать сбор статистики о непрочитанных письмах с рабочей почты, которая работает в google, так как я не хочу по вечерам держать открытую почту с вкладкой почты.
Хочу поделиться своим трудом с теми, кому так же лень проверять ящик лишний раз)
Чтобы не разбивать куски кода на отдельные блоки с комментариями, я прописал комментарии еще в самом коде.
А для автоматизации, я поставил триггер на выполнение скрипта в период 8-9 часов вечера.

function unreadEmailReport() {
  // Создаем  необходимые переменные для сбора информации о письмах
  var threads = GmailApp.getInboxThreads();
  
  // Первоначальная проверка, если у нас нет непрочитанных писем
  // То и смысла проверять почту нет
  if(GmailApp.getInboxUnreadCount()>0){
    // Создаем  необходимые переменные для сбора информации о письмах
    var messages = threads[0].getMessages();
    var senderEmail = messages[0].getFrom();
    
    // Задаем адрес назначения для собранной статистики
    var emailAddress = "mail@gmail.com" ;
    
    // Создаем переменные для получения текущего времени
    var datenow = new Date ;
    var currentTime = datenow.toLocaleTimeString();
  
    // Создаем переменную, где будет храниться собираемая информация(контент контейнер)
    var output = ContentService.createTextOutput();
  
    // Цикл, где поочередно идет проверка по всем письмам папки "Входящие"
    // на непрочитанные письма, и если они непрочитанны, то считывается
    // отправитель письма(senderEmail)
    // после этого в контент контейнер записывается номер письма, тема, отправитель
    // и делается переход на новую строку
    for (var i = 0; i < threads.length; i++) {
      if(threads[i].isUnread()){
        messages = threads[i].getMessages();
        senderEmail = messages[0].getFrom();
        output.append(i + ".  " + threads[i].getFirstMessageSubject()+"    от:"+ senderEmail + '\n');
      }  
    
    }
  
  // Отправка самого письма, первый параметр адрес назначения
  // Во втором идет запись темы письма и текущего времени
  // В третьем параметре выводится уже сам контент контейнер
 
  GmailApp.sendEmail(emailAddress,"Тема письма  " + currentTime, output.getContent());
  }

}

По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх