SEO

Отправка email с помощью Google Apps Script

Продолжаем цикл постов «Google Apps: Script полезные функции и фишки». Сегодня я вам расскажу и покажу, как отправлять email с помощью Google Apps Script.

Как можно использовать этот функционал

  1. Если у вас настроена автоматическая выгрузка каких-то данных, можно настроить отправку письма c предупреждением, например:
    • если эти данные отклонились от прогноза;
    • если данные изменились на некий процент;
    • если данные не загрузились;
    • если произошли другие изменения, которые вам следует контролировать.
  2. Если есть небольшая база email-адресов и нужно быстро отправить какую-либо информацию.
  3. Если нужно, допустим, раз в месяц отправлять статистику, которая собирается в Google Spreadsheet.
  4. Другие задачи, для решения которых нужно отсылать на почту информацию.

Методы и параметры класса MailApp

Как можно догадаться из заголовка, за всю эту магию отвечает класс MailApp.

Не забываем об ограничениях!

Методы класса MailApp и их параметры

  1. getRemainingDailyQuota() — возвращает количество оставшихся сообщений электронной почты, которые пользователь может отправить за оставшуюся часть дня.
  2. sendEmail — этот метод позволяет отправлять email-сообщения и выходит с комбинацией параметров:
    • sendEmai(message);
    • sendEmail(recipient, subject, body, options);
    • sendEmail(to, replyTo, subject, body).

А теперь немного о параметрах:

  1. message — объект JavaScript, представляющий сообщение электронной почты.
  2. recipient — адрес получателя (если их несколько — разделяйте запятыми).
  3. subject — тема письма.
  4. body — «тело» письма.
  5. to — адрес получателя.
  6. options — объект JavaScript, который указывает дополнительные параметры, перечисленные ниже:
    • attachments — массив файлов для отправки по электронной почте;
    • bcc (blind carbon copy) — список адресов электронной почты, разделенных запятыми (BCC — скрытые получатели письма, чьи адреса не показываются другим получателям);
    • cc (carbon copy) — список адресов электронной почты, разделенных запятыми (CC — вторичные получатели письма, которым направляется копия. Они видят и знают о наличии друг друга);
    • htmlBody — если устройство может отобразить результат HTML-кода, то будет использовать его (HTML) вместо требуемого аргумента тела письма;
    • inlineImages — объект JavaScript, содержащий отображение из образа изображения (String) в данные изображения (BlobSource). Это предполагает, что параметр htmlBody используется и содержит ссылки на эти изображения в формате <img src="cid:imageKey" />;
    • name — имя отправителя электронной почты (по умолчанию имя пользователя);
    • noReply — true, если электронное письмо должно быть отправлено с общего адреса электронной почты без ответа, чтобы препятствовать получателям отвечать на электронные письма. Эта опция доступна только для учетных записей G Suite, но не для пользователей Gmail;
    • replyTo — адрес электронной почты для использования в качестве адреса ответа по умолчанию (по умолчанию адрес электронной почты пользователя).
Официальная информация находится здесь.

Пример кода отправки сообщений через Google Apps Script:

function myFunction() {
MailApp.sendEmail({
    to: "tevez.netpeak@gmail.com",
    subject: "Рост количества сессий за месяц на 30% на сайте site.com",
    htmlBody: 'Дорогой друг! <br>'+
              'Спешу тебя обрадовать!<br>'+
              'Наш любимый проект демонстрирует исторический рост количества сессий на 30% (+ 5 456 сессий).<br>'+
              'Учти, что это данные из сервиса Google Analytics.<br>'+
              'Не буду тебя больше задерживать. Подробные результаты можешь увидеть, перейдя по <a href="ссылка на сайт">ссылке</a>.',
  });
}

Кстати, для работы с почтой в Gmail есть отдельный класс GmailApp. Ознакомиться с информацией о нем можно по ссылке.

Пример применения скрипта: еженедельно фиксируем количество кликов, показов, CTR и среднюю позицию по заданному URL. Если изменения существенные — отправляем email с данной информацией.

Бонусный скрипт

Вашему вниманию представляю скрипт, который:

  • еженедельно автоматически выгружает количество кликов, показов, CTR и среднюю позицию по заданному URL (или его части) из сервиса Google Search Console;
  • если изменения существенные (относительно прошлой выгрузки), отсылает пользователю email с предупреждением.

Инструкция по эксплуатации

  1. Следуя рекомендациям в этом посте, подключаете API Google Search Console к Google Таблицам (в первом пункте настройки делайте копию нового докса с актуальным скриптом).
  2. После подключения, запускаете функцию List Account Sites. Если вы правильно подключили API GSC и в вашем аккаунте есть ресурсы (сайты), вы увидите их список.
  3. Во вкладке Start указываем следующие параметры: 
    • URL (полный или частичный, в зависимости от задачи);
    • из выпадающего списка выбираете ваш сайт;
    • указываете процент. После каждой выгрузки скрипт сравнивает клики и показы. Если произошли изменения на указанный процент и более (как рост, так и снижение), скрипт будет уведомлять вас, отсылая email;
    • указываете дату старта (начальная дата). Ниже автоматически добавляется 6 дней и за этот период будут загружаться данные;
    • указываете тип проверки (содержит, не содержит и точное соответствие);
    • указываете email-адрес, на который будут отсылаться письма с изменениями.
  4. После того, как вы настроили все во вкладке Start, запустите функцию First run.
  5. Если вы все сделали верно, во вкладке Results появятся данные.
  6. Далее настраиваем триггер, чтобы каждую неделю подтягивались данные.
    • заходим в Редактор скриптов;
    • нажимаем на иконку в виде часов; 
    • настраиваем триггер, чтобы запускался каждую неделю (можно настроить под себя). Не забываем сохранить триггер;
  7. Ура! Теперь каждую неделю скрипт будет автоматически запускаться:
    • будет дополнять таблицу; 
    • будет посылать email, если есть существенные изменения;

P.S.

  1. Изменяя параметры во вкладке Start, вы можете повлиять на данные, которые будет выгружать триггер.
  2. Этот скрипт вы можете усовершенствовать (например, проверять не один URL, а список и так далее).
  3. Конечно, отправку писем можно сделать с помощью сервисов (GetResponse, например), но они решают другие задачи.

Выводы

  1. В рамках цикла постов о «Google Apps Script: полезные функции и фишки» мы научились отправлять email.
  2. С помощью скрипта можно автоматизировать рутинные задачи и получать уведомления о результатах.
  3. Функционал отправки email можно использовать для разных задач, например, вам нужно предупреждать менеджеров, чтобы они звонили клиентам раз в неделю, или чтобы слать напоминания ответственному за пополнение аккаунта Google Ads раз в месяц, и так далее — все можно автоматизировать с помощью этого скрипта.

Пишите в комментариях, что бы вы еще хотели автоматизировать с помощью Google Apps Script, возможно мне понравится ваша идея и сделаю отдельный пост.

33
6
0
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.

Комментарии (13 )

Последние комментарии

    Чтобы оставить комментарий, нужно войти

    Подписаться

    на самую полезную рассылку по интернет-маркетингу

    Самое

    обсуждаемое популярное читаемое

    Этот сайт использует куки-файлы и другие технологии, чтобы помочь вам в навигации, а также предоставить лучший пользовательский опыт, анализировать использование наших продуктов и услуг, повысить качество рекламных и маркетинговых активностей.