6 Гоогле Аппс Сцрипт пројеката који ће вам додатно напунити Гмаил искуство

Још једном, овде сам да причам о продуктивности и аутоматизацији у Гмаил-у. Овог пута идемо у потпуно укључени штреберски режим и користићемо Гоогле Аппс Сцрипт да побољшамо ваше искуство у Гмаил-у.

Гмаил има много уграђених подешавања која можете подесити да бисте аутоматизовали задатке и повећали продуктивност. Међутим, он има своја ограничења и многе функције не нуде довољно опција прилагођавања. Овде можете да преузмете ствари у своје руке користећи Гоогле Аппс Сцрипт.

Помоћу њега можете да креирате прилагођене скрипте које могу да обављају задатке које Гмаил изворно не може. И не само то, можете подесити окидаче засноване на времену за аутоматизацију ових скрипти.

Да бисте започели, наводим неке корисне скрипте које ће сигурно побољшати ваше Гмаил искуство. Осигурао сам да свака скрипта аутоматски решава уобичајене проблеме, као што су дупликати или аутоматско креирање нове фасцикле. Стога, неке скрипте могу изгледати мало дуже од предвиђене сврхе.

Направите скрипту у Гоогле Аппс скрипти

Пре него што почнете да примењујете и прилагођавате ове скрипте, морате да знате како да креирате скрипту у Гоогле Аппс Сцрипт и да је покренете. Ево како:

Отворите Гоогле Аппс Сцрипт и кликните на дугме Нови пројекат на левом панелу.

Овде треба да уклоните сав код који је већ написан и да копирате/налепите скрипту коју ћу дати. Након тога кликните на дугме Сачувај да бисте сачували скрипту.

Да бисте извршили скрипту, кликните на дугме Покрени поред Саве. Од вас ће се тражити да дате дозволе и биће упозорење да скрипта није верификована. Можете игнорисати упозорење и дати дозволе јер је скрипта за личну употребу и Гоогле је није прегледао.

То је то, скрипта ће се покренути и у дневнику извршења ће се показати да ли је успешно извршена или не.

Подесите окидач

Многе од ових скрипти најбоље функционишу када се покрећу аутоматски. Срећом, Гоогле Аппс Сцрипт такође има одељак за креирање временских окидача за сваку скрипту како би се аутоматски извршили.

Међутим, пре него што вам кажем о стварању окидача, требало би да то знате Гоогле Аппс Сцрипт има ограничене квоте на основу тога да ли сте претплаћени на Гоогле Воркспаце план или не. Ако имате превише скрипти које се покрећу истовремено и пречесто, онда можете достићи дневну квоту која ће зауставити услугу на одређено време.

Иако имате опцију да извршавате скрипте сваког минута, то би представљало огроман одлив ваше дневне квоте. Уверите се да сте подесили само тајмер који поуздано обавља посао.

Да бисте креирали окидач, кликните на Триггерс на левом панелу док је скрипта отворена, а затим кликните на дугме Адд Триггер.

Овде можете одабрати тајмер у минутама до месеци и интервал. Такође можете да изаберете фиксни датум и време да бисте покренули скрипту само једном у то одређено време. Када су сви изабрани, кликните на Сачувај да бисте креирали окидач.

Ако нисте дали дозволу за покретање скрипте као што сам вам рекао раније, од вас ће се тражити да дате дозволу пре него што креирате окидач.

На основу вашег избора, окидач ће радити непрекидно. Ако се суочи са било каквим проблемом, обавестиће вас заједно са грешком која се догодила.

Хајде сада да заронимо у неке практичне примере како можете да користите Гоогле Аппс Сцрипт да аутоматизујете своје Гмаил задатке.

Пошаљите понављајуће е-поруке

function sendRecurringEmail() {
  var recipient = "[email protected]";
  var subject = "Your subject here";
  var message = "Your custom message here";

  GmailApp.sendEmail(recipient, subject, message);
}

Гмаил вам омогућава да закажете е-пошту, али не и е-поруке које се понављају. Било да желите некога да подсетите на нешто или желите да се уверите да ваша е-пошта није занемарена. Ова једноставна скрипта шаље е-пошту на наведену адресу са предметом и поруком коју наведете. Затим можете подесити понављајући окидач из опције Триггерс.

У скрипти уредите одељак примаоца, предмет и поруке са стварним детаљима. Уверите се да наводници око текста примера остану. На пример, предмет би требало да изгледа овако:

var subject = "Important Reminder";

Пошто окидачи имају максимално ограничење до месец дана, понављајућа порука мора да се шаље једном месечно. Нажалост, то значи да га не можете користити за слање жеља за прилике које се дешавају на годишњем нивоу.

Филтрирајте е-поруке са везама до ознаке

function processUnreadEmailsWithLinks() {
  var labelName="Emails with Links";
  var label = GmailApp.getUserLabelByName(labelName);
  if (!label) {
    label = GmailApp.createLabel(labelName);
  }
  var threads = GmailApp.search('is:unread');
  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    for (var j = 0; j < messages.length; j++) {
      var message = messages[j];
      var body = message.getBody();
      if (bodyContainsLinks(body)) {
        label.addToThread(threads[i]);
      }
    }
  }
}

function bodyContainsLinks(body) {
  var regex = /https?:\/\/[^\s<>"']+/g;
  return regex.test(body);
}

Е-поруке са линковима у телу су обично важније. Без обзира да ли примате извештаје од колеге или сте се претплатили на билтене који шаљу одређене ресурсе, категоризација е-порука са везама може бити веома корисна.

Ова скрипта прегледа све непрочитане е-поруке на вашем Гмаил налогу и одваја оне са везама у телу е-поште на нову ознаку под називом „Е-поруке са везама“. Подразумевано ће свуда у Гмаил-у тражити имејлове, али можете да сузите претрагу тако што ћете уредити вар тхреадс = ГмаилАпп.сеарцх(‘ис:унреад’); линија. Испод је неколико начина на које можете да га уредите:

Претражујте само у пријемном сандучету: вар тхреадс = ГмаилАпп.сеарцх(‘ин:инбок ис:унреад’);

Претрага у другим ознакама: вар тхреадс = ГмаилАпп.сеарцх(‘у:примљено је:непрочитано ИЛИ у:промоцијама је:непрочитано ИЛИ у:важно је:непрочитано’);

Претражите све прочитане/непрочитане е-поруке у пријемном сандучету: вар тхреадс = ГмаилАпп.сеарцх(‘ин:инбок’);

Претражи имејлове од одређеног пошиљаоца: вар тхреадс = ГмаилАпп.сеарцх(‘фром:[email protected]‘);

Ови примери би требало да вам дају идеју о томе како можете да уредите скрипту да бисте сузили имејлове са везама. Такође, верујем да ће подешавање дневног покретача бити више него довољно за такве врсте е-порука.

Аутоматски избришите старе е-поруке

function deleteOldEmails() {
  var threads = GmailApp.search('older_than:30d');
  for (var i = 0; i < threads.length; i++) {
    threads[i].moveToTrash();
  }
}

Ако не желите да задржите старе имејлове, онда можете да користите ову скрипту за брисање е-порука које су старије од одређеног периода. Скрипта овде ће тражити све имејлове у Гмаил-у старије од 30 дана и послати их у Отпад. Можете да измените део ‘олдер_тхан:30д’ да бисте одредили колико старих е-порука желите да избришете, као што је ‘олдер_тхан:180д’.

Ако уместо тога желите да избришете имејлове са одређене ознаке, онда можете да измените део Гмаил.Апп.сеарцх да бисте укључили ознаку. Овако:

вар тхреадс = ГмаилАпп.сеарцх(‘ин:инбок олдер_тхан:30д’);

Да би процес био аутоматски, креирајте окидач који аутоматски покреће скрипту сваких неколико дана. У зависности од тога колико старих порука е-поште желите да избришете, сигуран сам да ће недељни или чак месечни покретач бити у реду.

Сачувајте све адресе е-поште у Гоогле табеле

function getEmailAddresses() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheetName = "Email Addresses";
  var sheet = ss.getSheetByName(sheetName);
  
  if (!sheet) {
    sheet = ss.insertSheet(sheetName);
    sheet.appendRow(["Email Address"]);
  }
  
  var threads = GmailApp.getInboxThreads();
  var emailAddresses = [];
  
  var existingData = sheet.getDataRange().getValues();
  if (existingData.length > 1) {
    var existingEmailAddresses = existingData.slice(1).flat();
  } else {
    var existingEmailAddresses = [];
  }
  
  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    for (var j = 0; j < messages.length; j++) {
      var emailAddress = messages[j].getFrom();
      if (emailAddresses.indexOf(emailAddress) === -1 && existingEmailAddresses.indexOf(emailAddress) === -1) {
        emailAddresses.push(emailAddress);
      }
    }
  }
  
  for (var k = 0; k < emailAddresses.length; k++) {
    sheet.appendRow([emailAddresses[k]]);
  }
}

Ова скрипта ће претражити Гмаил за све имејлове и копирати име и адресу е-поште пошиљалаца/прималаца и сачувати их у Гоогле табеле. Ово може бити на много начина, као што је креирање маилинг листе за маркетинг путем е-поште или креирање евиденције свих који вас контактирају.

Међутим, креирање ове скрипте се мало разликује од других јер морате да отворите Гоогле Аппс Сцрипт из Гоогле табела да би могао да идентификује лист. Међутим, то је потребно учинити само први пут. Ево како:

Отворите нови лист Гоогле табеле. Овде кликните на Екстензије у горњем менију, а затим изаберите Аппс Сцрипт. Ово ће отворити Гоогле Аппс Сцрипт и можете додати скрипту и покренути је као што сам раније показао.

Скрипта ће креирати нови лист са именом „Адресе е-поште“ са именом и адресом е-поште написаним у истој ћелији. Нећете морати поново да отварате лист у будућности за сваки окидач. Свака нова адреса е-поште биће ажурирана у листу на крају без икаквих дупликата.

У зависности од тога колико често примате е-поруке од нових пошиљалаца, дневни или недељни окидач би требало да буде добар.

Аутоматски сачувајте прилоге е-поште на Гоогле диску

function onNewEmail(e) {
  var threads = GmailApp.getInboxThreads(0, 1);
  var messages = threads[0].getMessages();
  
  var folderName = "Email Attachments";
  var folderIterator = DriveApp.getFoldersByName(folderName);
  var folder;

  if (folderIterator.hasNext()) {
    folder = folderIterator.next();
  } else {
    folder = DriveApp.createFolder(folderName);
  }
  
  for (var i = 0; i < messages.length; i++) {
    var message = messages[i];
    
    if (message.getAttachments().length > 0) {
      var attachments = message.getAttachments();
      
      for (var j = 0; j < attachments.length; j++) {
        var attachment = attachments[j];
        var attachmentHash = Utilities.base64Encode(Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, attachment.getBytes()));
        var existingFiles = folder.getFiles();

        var isDuplicate = false;

        while (existingFiles.hasNext()) {
          var existingFile = existingFiles.next();
          var existingFileHash = Utilities.base64Encode(Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, existingFile.getBlob().getBytes()));

          if (attachmentHash === existingFileHash) {
            isDuplicate = true;
            break;
          }
        }

        if (!isDuplicate) {
          folder.createFile(attachment);
        }
      }
    }
  }
}

Веома згодна скрипта ако често примате важне прилоге путем е-поште. Ово не само да ће сачувати прилоге, већ ће их и груписати у много бољи интерфејс за управљање њима.

Ова скрипта је кодирана да ради само на новим имејловима које ћете добити након првог покретања. Аутоматски ће креирати нову фасциклу под називом „Прилози е-поште“ на Гоогле диску ако није доступна. Такође сам избегавао коришћење имена за проверу дупликата датотека јер могу бити исти за различите датотеке. Скрипта уместо тога проверава МД5 хеш вредност која је јединствена на основу садржаја датотеке.

Знам да не желе сви да чувају само нове прилоге и можда желе прилоге из већ примљених е-порука. За ово, испод је модификована скрипта која прати иста правила, али уместо тога чува прилоге из тренутно присутних е-порука. Међутим, биће потребно доста времена да све сачувате у зависности од тога колико прилога имате.

function saveAllAttachmentsToDrive() {
  var folderName = "Email Attachments";
  var folderIterator = DriveApp.getFoldersByName(folderName);
  var folder;
  
  if (folderIterator.hasNext()) {
    folder = folderIterator.next();
  } else {
    folder = DriveApp.createFolder(folderName);
  }

  var threads = GmailApp.getInboxThreads();

  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    
    for (var j = 0; j < messages.length; j++) {
      var message = messages[j];
      var attachments = message.getAttachments();
      
      for (var k = 0; k < attachments.length; k++) {
        var attachment = attachments[k];
        var attachmentHash = Utilities.base64Encode(Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, attachment.getBytes()));
        var existingFiles = folder.getFiles();
        var isDuplicate = false;

        while (existingFiles.hasNext()) {
          var existingFile = existingFiles.next();
          var existingFileHash = Utilities.base64Encode(Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, existingFile.getBlob().getBytes()));

          if (attachmentHash === existingFileHash) {
            isDuplicate = true;
            break;
          }
        }

        if (!isDuplicate) {
          folder.createFile(attachment);
        }
      }
    }
  }
}

Добијте дневну инспиративну понуду

function sendDailyQuoteEmail() {
  var apiKey = 'YOUR_API_KEY';
  var endpoint="https://quotes.rest/qod";

  var response = UrlFetchApp.fetch(endpoint, {
    headers: {
      'X-TheySaidSo-Api-Secret': apiKey
    }
  });

  var data = JSON.parse(response.getContentText());
  var quoteContents = data.contents.quotes[0];
  var quote = quoteContents.quote;
  var author = quoteContents.author;

  var recipient="[email protected]";
  var subject="Daily Quote";
  var message = `Here is your daily quote:\n\n"${quote}"\n\n- ${author}`;

  GmailApp.sendEmail(recipient, subject, message);
}

Можда неће имати директну употребу у вашем послу или управљању е-поштом, али је сјајно да се напумпате да дате све од себе сваког дана директно у пријемном сандучету. Када је правилно подешена, ова скрипта ће користити АПИ Они су рекли да вам шаље своје дневне инспиративне цитате путем е-поште. Ево како да га подесите:

Прво, потребан вам је лични АПИ кључ од Тхеи Саид Со. На Они су рекли тако АПИ страницу можете регистровати бесплатан налог да бисте добили кључ. Даје 5 бесплатних позива, што је више него довољно за дневну понуду.

Када добијете кључ, замените део ИОУР_АПИ_КЕИ стварним кључем који сте добили од Они су тако рекли. Такође морате да замените [email protected] поделите са својом стварном адресом е-поште или неком другом ако желите да је подесите за неког другог.

Сада све што треба да урадите је да подесите окидач који се покреће на дневној бази, пошто ће се покретањем раније од тога поново послати само цитат текућег дана.

Завршне речи

Ја лично нисам имао проблема да покренем све ове скрипте заједно, нити сам достигао дневну квоту. Сигуран сам да ћете и ви бити добро, све док не користите превише агресивне окидаче. Такође би требало да проверите ове скрипте како бисте били сигурни да ниједна скрипта нема грешке.

  10 Онлине Трацероуте алата за решавање проблема са мрежом