Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
kodopik
7 лет назад

Рассылка email из таблиц Google одним кликом

По работе понадобилось рассылать сотрудникам письма исходя из данных таблицы. Как это произвести в один клик, хоть массово, хоть адресно? С помощью скрипта Google по такой схеме:

  1. Имеем таблицу с email-адресами и данными для отправки.
  2. Создаём скрипт Google, рассылающий письма на адреса из выделенных ячеек.
  3. Ставим в документ кнопку, при нажатии на которую этот скрипт срабатывает.

Рассмотрим более подробно по пунктам.

1. Формируем таблицу

Всё что нам нужно, это адреса и данные:

Кстати, некоторые данные могут быть и в скрипте: например, используемые постоянно. Я расскажу об этом ниже. Кроме того, данные могут браться с других листов, но это выходит за рамки статьи.

2. Создание скрипта

Инструменты → Редактор скриптов.

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

function sendSelectedEmails() {
    var sheet = SpreadsheetApp.getActiveSheet();
    var activeRange = sheet.getActiveRange();
    var data = activeRange.getValues();
    for (i in data) {
        var row = data[i];
        var emailAddress = row[0];
        var subject = row[1];
        var message = row[2];
        MailApp.sendEmail(emailAddress, subject, message);
    }
}

То же самое на скриншоте:

Сохраняем. Имена скрипта и проекта значения не имеют.

Что делает скрипт: построчно берёт данные из выделенных ячеек и рассылает почту. В нашем случае он берёт адрес emailAddress, тему subject и сообщение message. Элементы массива row — это номера ячеек в строке слева направо, начиная от 0.

Насчёт обещанных данных в скрипте. При необходимости объединить строки (например, для добавления постоянного адреса, на который копируются письма) используем конкатенацию с помощью плюса:

var emailAddress = row[0] + ', admin@site.my';

Конечно, используемых ячеек может быть больше, они могут другое положение относительно друг друга. Поэтому просто меняем под свои нужды цифры в row[…].

В принципе, на этом всё: можно запускать скрипт, предварительно выделив строку или несколько строк в файле с данными. А можно сделать кнопку, чтобы лишний раз не открывать редактор скриптов.

3. Кнопка «Отправить email»

Кнопка создаётся как рисунок, на который позже назначается скрипт.

Вставка → Рисунок → Рисуем нужный нам объект (например, прямоугольник со скруглёнными краями), при необходимости делаем надпись:

Жмём «Сохранить и закрыть». Теперь через выпадающее меню рисунка назначаем ему скрипт:

А если точнее, то основную функцию из нашего скрипта:

Сохраняем. Вот теперь действительно всё. Можно выделить одну или несколько строк и щёлкнуть по кнопке. В первый раз Google запросит разрешения для скрипта на отправку email.

NB. Не советую использовать вышеописанное для спама, ибо Гугл не дурак. Повторюсь, я применял этот способ для автоматизации рассылок сотрудникам (а точнее копирайтерам-фрилансерам).

По материалам раз и два. Впервые опубликовано на моём сайте kodopik.ru

4
354.203 GOLOS
На Golos с December 2016
Комментарии (2)
Сортировать по:
Сначала старые