Dev 4 лайфхака Gmail и Google Apps Script

Как автоматизировать процессы GMail, даже не зная ничего про программирование.

Google Apps Script —  это усеченная версия JavaScript дополненная классами и методами для работы с сервисами Google. Для Gmail и Google Документов этот язык служит тем же, чем Visual Basic for Application для Outlook, Word, Excel и PowerPoint. Эта статья первая в цикле рецептов для решения повседневных проблем. Фишки, описанные ниже, внедряются за считанные минуты и смогут сэкономить ваше личное время несчетное число раз. Чтобы применить на практике информацию из этой статью не нужно знать ни Google Apps Script, ни даже JavaScript. Достаточно четко следовать инструкциям.

Как пользоваться инструкциями

  1. Заходим на Google Docs
  2. Авторизируемся под своим аккаунтом;
  3. В соседней вкладке открываем Gmail и убеждаемся, что выбрали нужный почтовый ящик;
  4. Создаем новую электронную таблицу;
  5. Выбираем пункт меню Инструменты -> Редактор скриптов. В результате должно открыться вот такое окно:
  6. Вставляем исходный код в редактор скриптов;
  7. Редактируем его в соответствии с комментариями;
  8. Нажимаем кнопку «Запустить» на панели инструментов;
  9. Если перед выполнением скрипт попросит авторизации и разрешений на действия, соглашаться

Организуем групповую рассылку;

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

Подготовка:

  1. В первый столбец заносим емейлы получателей.  Пример: «[email protected]»;
  2. Во второй столбец заносим обращения к получателям получателей. Пример: «Анатолий Катц»;

Код:

[jscript]
function groupDelivery() {
// Число 5 надо заменить на число адресатов в таблице
var rowsAmount = 5 ;
// Здесь надо указать тему писем
var messageSubject = "Приглашение";
var currentSheet = SpreadsheetApp.getActiveSheet();
var dataRange = currentSheet.getRange(1, 1, rowsAmount, 2);
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[0];
// Поддкорректируйте обращение и текст письма под свои нужды
var messageText = row[1] + ", " + "мы рады Вас пригласить…"; 
MailApp.sendEmail(emailAddress, messageSubject, messageText);
}
}
[/jscript]

Warnings: очень внимательно проверьте адреса и имена получателей и проследите чтобы список начинался с ячейки A1.

Отвечаем на все письма за один прием;

Когда человек уходит в отпуск, то он настраивает автоответ и всем, кто пишет ему сразу приходит: «Я на море, ждите ответа 15 числа».  Но бывает ситуации, когда нет возможности отвечать на почту некоторое время, автоответчик предварительно не был настроен и сотни писем ждут своей очереди. Как не умереть от стресса вызванного десятками часов непрерывного ответа на почту и не обидеть своих коллег?  Можно скриптом за пару минут отправить им всем письмо: «Извините, у меня форс-мажор, несколько дней был в отлучке. Внимательно ознакомлюсь с Вашим письмом и отвечу в ближайшую неделю.  Если дело срочное, позвоните мне пожалуйста».

Читайте также  App Store Казан, баран и дастархан

Код:

[jscript]
function autoReply() {
// Здесь надо указать количество сообщений для ответа, не забыв вычесть из него единицу
amountMessageforReply=1;
// Здесь должен быть красивый вежливый текст
replyText="Был в отпуске. Сорри. Скоро отпишусь. Если срочняк, то набери.";
var threads = GmailApp.getInboxThreads(0, amountMessageforReply);
for (var i = 0; i <= threads.length; i++) {
threads[i].reply(replyText);
}
}
[/jscript]

Warnings: подумайте о том, всем ли корреспондентам корректно посылать составленный вами текст автоответа. Не стоит ли немного модифицировать скрипт и исключить некоторых адресатов из рассылки?

Собираем вложения в папку на Google Drive;

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

Код;

[jscript]
function saveToGoogleDrive() {
var driveFolder  = "Папка для вложений"; // Здесь надо указать имя папки куда сохранять вложения
amountMail = 1 ; // Количество писем из которых будем забирать вложения
var threads = GmailApp.getInboxThreads(0, amountMail);
var folder = DriveApp.getFoldersByName(driveFolder);
if (folder.hasNext()) {
folder = folder.next();
} else {
folder = DriveApp.createFolder(driveFolder);
}
for (var x=0; x<=threads.length; x++) {
var message = threads[x].getMessages()[0];
var att    = message.getAttachments();
for (var z=0; z<=att.length; z++) {
file = folder.createFile(att[z]);
}
}
}
[/jscript]

Warning: проконтролируйте чтобы у вас было достаточно места на Google Диске. В соответствии с располагаемым свободным пространством надо выбирать число писем для обработки.

Собираем письма от одного отправителя в текстовый файл;

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

Код:

[jscript]
function writeToFile() {
var doc = DocumentApp.create(‘Переписка’); // Новый файл появится в корневой папке Google диска
var senderAdress = "[email protected]"; // Адрес, переписку с которым надо сохранить
var finalText = "";
var body = doc.getBody();
var threads = GmailApp.search(senderAdress);
for (var x=0; x<=threads.length; x++) {
var messages = threads[x].getMessages();
for (i=0;i<=messages.length-1;i++) {
finalText=finalText + messages[i].getSubject() + messages[i].getPlainBody() + "";
}
body.appendParagraph(finalText);
}
}
[/jscript]

Warning: некоторые личности имеют привычку общаться сразу с нескольких адресов, в лучшем случае с личного и рабочего:-) Для таких ситуаций надо немного переписать скрипт или запустить его несколько раз.

Читайте также  В Питере демонтировали памятник Стиву Джобсу

 

    • Автоматизируем Google Таблицы на Google Apps Script
    • Google Apps Script для Docs в примерах
    • Планируем жизнь с Google Calendar и Google Apps Script
    • Простые автоматизации для Google Drive

    Источник: iphones.ru

Dream Clean