Расскажите о вашей задаче
SEO

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

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

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

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

Методы и параметры класса 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-адрес, на который будут отсылаться письма с изменениями.

  • После того, как вы настроили все во вкладке Start, запустите функцию First run.
  • Если вы все сделали верно, во вкладке Results появятся данные.
  • Далее настраиваем триггер, чтобы каждую неделю подтягивались данные.

  • заходим в Редактор скриптов;
  • нажимаем на иконку в виде часов; 
  • настраиваем триггер, чтобы запускался каждую неделю (можно настроить под себя). Не забываем сохранить триггер;
  • Ура! Теперь каждую неделю скрипт будет автоматически запускаться:
  • будет дополнять таблицу; 
  • будет посылать 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.

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

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

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

    Чтобы оставлять комментарии, переключитесь на профиль читателя

    Подписаться

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

    Самое

    обсуждаемое популярное читаемое
    Просматривая этот сайт, вы соглашаетесь с нашей политикой конфиденциальности — Принять