Используем собственные скрипты для расширения функциональности Gmail

Gmail не просто одна из лучших электронных почтовых служб, но еще и мощный инструмент для работы, общения и обменом данных. С помощью встроенных функций и фильтров, можно персонализировать профиль до практически идеального состояния. Однако, люди которые используют свой аккуант по полной находят имеющийся функционал недостаточным и потому Google предлагает вам расширить его за счет собственных скриптов. Сегодня мы расскажем вам о пяти лучших на наш взгляд.

Спонсором новости выступает блог KtoNaNovenkogo - http://ktonanovenkogo.ru который доступно рассказывает все о создании сайтов, блогов, форумов, интернет-магазинов, их продвижении в поисковых системах и заработке на сайте.

 

1. Автоматическое удаление помеченных сообщений через определенное время

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

 

 

Для того чтобы все работало перейдите на страницу скриптов Google Apps Script.Не забудьте до этого авторизироваться в системе под своим логином.

Создайте новый документ и введите туда следующий код:

function auto_delete_mails() {  
  var label = GmailApp.getUserLabelByName("Delete Me");  
  if(label == null){
    GmailApp.createLabel('Delete Me');
  }
  else{
    var delayDays = 2 // Enter # of days before messages are moved to trash   
    var maxDate = new Date(); 
    maxDate.setDate(maxDate.getDate()-delayDays);    
    var threads = label.getThreads();  
    for (var i = 0; i < threads.length; i++) {  
      if (threads[i].getLastMessageDate()<maxDate){  
        threads[i].moveToTrash();
      } 
    } 
  }
}

Вы сможете менять количество дней через которое почту стоит удалять. Просто измените цифру «2» после параметра var delayDays. Где именно менять, указанно в комментарии к скрипту. После того как сохраните скрипт, перейдите в Resources -> Current Project's Triggers -> Add one now и выставьте параметр every hour.

После этого в возле каждого письма появится новый ярлык «Delete Me». Теперь вы можете помечать письма этим ярлыком и они будут автоматически удаляться через заданный промежуток времени. Как менять количество дней, ранее уже было сказано.

 

 

2. Отлаживать письма, но не забывать о них

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

Как и раньше, создайте скрипт Google со следующим содержанием:

 

var MARK_UNREAD = true;
var ADD_UNSNOOZED_LABEL = false;
 
function getLabelName(i) {
  return "Snooze/Snooze " + i + " days";
}
 
function setup() {
  // Create the labels we’ll need for snoozing
  GmailApp.createLabel("Snooze");
  for (var i = 1; i <= 7; ++i) {
    GmailApp.createLabel(getLabelName(i));
  }
  if (ADD_UNSNOOZED_LABEL) {
    GmailApp.createLabel("Unsnoozed");
  }
}
 
function moveSnoozes() {
  var oldLabel, newLabel, page;
  for (var i = 1; i <= 7; ++i) {
    newLabel = oldLabel;
    oldLabel = GmailApp.getUserLabelByName(getLabelName(i));
    page = null;
    // Get threads in "pages" of 100 at a time
    while(!page || page.length == 100) {
      page = oldLabel.getThreads(0, 100);
      if (page.length > 0) {
        if (newLabel) {
          // Move the threads into "today’s" label
          newLabel.addToThreads(page);
        } else {
          // Unless it’s time to unsnooze it
          GmailApp.moveThreadsToInbox(page);
          if (MARK_UNREAD) {
            GmailApp.markThreadsUnread(page);
          }
          if (ADD_UNSNOOZED_LABEL) {
            GmailApp.getUserLabelByName("Unsnoozed")
              .addToThreads(page);
          }          
        }     
        // Move the threads out of "yesterday’s" label
        oldLabel.removeFromThreads(page);
      }  
    }
  }
}

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

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

 

              

3. Оповещение через SMS для важных сообщений

Это скрипт позволяет вам, получать SMS оповещения о важных сообщениях приходящих на почту Gmail.

Как и раньше, создаем документ со следующим скриптом:

function Gmail_send_sms(){
  var label = GmailApp.getUserLabelByName("Send Text");  
  if(label == null){
    GmailApp.createLabel('Send Text');
  }
  else{
    var threads = label.getThreads();  
    var now = new Date().getTime();
    for (var i = 0; i < threads.length; i++) {  
      var message = threads[i].getMessages()[0];
      var from = message.getFrom();
      var subject = message.getSubject();
      CalendarApp.createEvent(subject, new Date(now+60000), new Date(now+60000), {location: from}).addSmsReminder(0);
    }
    label.removeFromThreads(threads);
  }
}

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

Далее, просто выбирайте адресатов, от которых вам важны письма и помечайте их ярлыком Send Text. Скрипт будет проверять вашу почту каждые пять минут и отправлять вам сообщения при поступлении новых писем на почту. Такой подход позволяет вам следить за важным диалогом и не задерживать собеседника ответами.

 

 

4. Планировка отправки писем по расписанию

Boomerang представляет собой отличный сервис по планированию и отправке писем по расписанию, но для его использования вам придется установить дополнительное расширение к браузеру Google Chrome. Мы же предлагаем установить скрип Gmail, который способен заменить приложение.

 

Скачайте его по этой ссылке и установите. После того как вы дадите скрипту доступ к своим данным, вас перенаправит на следующую страницу, где вы сможете настроить скрипт на свое усмотрение.

После настройки, вы сможете приступить к планированию графика рассылки писем с вашего почтового ящика. Просто помечайте письма, которые нужно отправить в определенный момент и используйте соответствующий ярлык.

 

5. Сохранения писем Gmail в формате PDF на Google Drive

Порой письма содержат важную информацию к которой вам придется прибегнуть еще не один раз. Когда появляется необходимость выделить письмо из общей массы и сохранить содержимое, вам на помощь придет скрипт, которым мы с вами поделимся. Он конвертирует письмо в файл PDF и сохраняет его на Диске Google.

Создайте чистый бланк со следующим содержанием:

function save_Gmail_as_PDF(){
  var label = GmailApp.getUserLabelByName("Save As PDF");  
  if(label == null){
    GmailApp.createLabel('Save As PDF');
  }
  else{
    var threads = label.getThreads();  
    for (var i = 0; i < threads.length; i++) {  
      var messages = threads[i].getMessages();  
      var message = messages[0];
      var body    = message.getBody();
      var subject = message.getSubject();
      var attachments  = message.getAttachments();
      for(var j = 1;j<messages.length;j++){
        body += messages[j].getBody();
        var temp_attach = messages[j].getAttachments();
        if(temp_attach.length>0){
          for(var k =0;k<temp_attach.length;k++){
            attachments.push(temp_attach[k]);
          }
        }
      } 
      // Create an HTML File from the Message Body
      var bodydochtml = DocsList.createFile(subject+'.html', body, "text/html")
      var bodyId=bodydochtml.getId();
 
      // Convert the HTML to PDF
      var bodydocpdf = bodydochtml.getAs('application/pdf');
      if(attachments.length > 0){
        DocsList.createFolder(subject);
        var folder = DocsList.getFolder(subject);
        for (var j = 0; j < attachments.length; j++) {
          folder.createFile(attachments[j]);
          Utilities.sleep(1000);
        }
        folder.createFile(bodydocpdf);
      }
      else{
        DocsList.createFile(bodydocpdf);
      }      
      DocsList.getFileById(bodyId).setTrashed(true);
      label.removeFromThread(threads[i]);
    }
  }  
}

После создания документа, настройте триггер так, чтобы он запускал скрипт каждую минуту. Теперь просто помечайте нужные вам письма ярлыком «Save to PDF».

 

Сегодня мы поделились с вами самыми интересными и полезными скриптами на наш взгляд, но существует их намного больше. Поэтому если вам не хватает каких-то возможностей в стандартном функционале Gmail не расстраивайтесь, скорее всего, уже написан скрипт, который это упущение исправляет.

Ключевые Теги: Google Apps Script
+ +4 -

Комментариев 1

  1. Офлайн
    Klema 16 декабря 2013 14:51
    + -1 -
Информация
Комментировать статьи на сайте возможно только в течении 90 дней со дня публикации.
  • Top.Mail.Ru