Как правильно делать автоматизированные рассылки в Gmail

Ирина Чернова avatar | 25
FavoriteLoading В закладки
Как правильно делать автоматизированные рассылки в Gmail

И получать максимальный отклик.

Как делать не надо

Вот канонический пример некачественной автоматизированной рассылки:

some_merge
bad_merge_2
bad_merge_3

У этого письма есть некоторые недостатки, которые воспринимаются как проявление неуважения:

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

На такое предложение нет желания отвечать. Если бы письмо было составлено аккуратнее, то я бы из вежливости написала несколько слов о том, что мне это не интересно и консультант могла вывести меня на диалог и, возможно, уговорить на сотрудничество. Но после такого сообщения, я постараюсь обходить эту «Международную редакцию» стороной.

Как сделать лучше

Чтобы получать ответы на свои рассылки следует придерживаться правила:

Получатель должен быть уверен, что письмо составлено персонально для него

Мало кто любит отвечать на автоматические письма. Но лишь у самого невежливого или загруженного почтой человека совесть позволит не черкнуть хотя бы пару строк на сообщение адресованное лично ему.

Из вышеприведенного правила вытекают рекомендации:

  • Письмо желательно отправлять от имени конкретного человека;
  • У письма не должно быть несколько десятков получателей (так происходит, когда рассылки делают через копию);
  • Лучше, когда тема письма четко отражает его суть;
  • В начале письма желательно поздороваться;
  • К человеку лучше обратиться по имени, указав на его половую принадлежность. Пример: «Уважаемый Михаил!»;
  • Если пишете в первый раз, то в начале письма неплохо бы представиться;
  • Отправлять письмо желательно в рабочее время;
  • В конце письма можно еще раз обратиться по имени и намекнуть о своем ожидании ответа на письмо;
  • В письмо лучше не вставлять ссылку на файл, а прикрепить его в виде вложения.

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

Рассылки на GAS

А теперь, перейдем к самой интересной части статьи. Научимся делать автоматизированные рассылки с помощью Google Apps Script, видоизмененной версии JavaScript. Этот язык предназначен для автоматизации работы с сервисами Google.

Об использовании Google Apps Script уже вышло несколько статей на iPhones. Рекомендую ознакомиться с ними для более глубокого понимания темы.

 

    Сделать автоматическую рассылку в Gmail очень просто:

    1. Открываем doc.google.com и создаем новую электронную таблицу;
    2. В первый столбец забиваем получателей, а во второй их адреса;
    3. Открываем Инструменты -> Редактор скриптов;
      script_editor
    4. Вбиваем туда следующий код, не забыв указать нужное число получателей:
      [jscript]
      function sendMails() {
      // 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]
    5. Нажимаем на кнопку Запустить и даем скрипту все разрешения, которые он попросит.

    Это был базовый пример кода, на основе которого можно сделать рассылку любой сложности. Разберем несколько приемов по его доработке.

    Добавляем обращение

    Традиционно, первую строку в письме занимает обращение: «Уважаемый Михаил!» или «Уважаемая Анастасия». Чтобы добавить обращение к автоматическому письму надо сделать следующие:

    1. В третьем столбце обозначить пол абонента: «мужской» или «женский».
    2. Немного видоизменить вышеприведенный код:
      [jscript]
      function sendMails() {
      // 5 надо заменить на число адресатов в таблице
      var rowsAmount = 5;
      // Здесь надо указать тему писем
      var messageSubject = "Пресс-релиз";
      // Создаем переменную для активного листа
      var currentSheet = SpreadsheetApp.getActiveSheet();
      // Выделяем диапазон данных и получаем из него данные
      var dataRange = currentSheet.getRange(1, 1, rowsAmount, 3);
      var data = dataRange.getValues();
      // Обходим поочередно ряды в таблице
      for (i in data) {
      var row = data[i];
      // Из первого столбца берем адрес
      var emailAddress = row[0];
      // Формируем текст обращения
      if(row[2]=="женский")
      {
      var appeal = "Уважаемая";
      }
      else if(row[2]=="мужской")
      {
      var appeal = "Уважаемый";
      }
      // Перенос строки обозначается символом \n
      var appealText = appeal + " " + row[1] +"!\n";
      var messageText = appealText + "Высылаем Вам пресс-релиз";
      MailApp.sendEmail(emailAddress, messageSubject, messageText);
      }
      }
      [/jscript]

    Форматируем текст письма

    В примере плохой рассылки, приведенном в начале статьи «важные» слова выделены CAPS-ом. На мой вкус, это не добавляет позитивных эмоций получателю. Если есть необходимость выделить что-то в тексте письма, то лучше выделить это курсивом или жирным шрифтом. Сделать это можно с помощью языка разметки HTML. Этот код нужно поставить после объявления переменной appealText:
    [jscript]
    var messageText = appealText + "Высылаем Вам пресс-релиз";
    var messageHTML = appealText + "Высылаем <i>Вам</i> <b>пресс-релиз</b>";
    MailApp.sendEmail(emailAddress, messageSubject,messageText, {"htmlBody":messageHTML});
    [/jscript]

    Две переменные с текcтом письма указываются у метода sendEmail на случай, если почтовые клиенты получателей не поддерживают HTML.

    Редактируем данные отправителя

    В Google Apps Script есть возможность для письма указать имя отправителя и адрес, на который надо отправлять ответ на письмо. Можно сделать рассылку с ящика на Gmail, а ответы принимать на корпоративную почту. Вот код с примером указания имени отправителя и адреса для ответа:

    [jscript]
    MailApp.sendEmail(emailAddress, messageSubject,messageText, {"htmlBody":messageHTML, replyTo: "[email protected]", name:"Антон Иванов"});
    [/jscript]

    Прикрепляем вложения

    Для того, чтобы автоматически вкладывать файл в письмо, его необходимо предварительно сохранить на Google Drive и узнать его ID (правой кнопкой мыши кликнуть на файл и выбрать пункт меню «Получить ссылку»).

    [jscript]
    function sendMails() {
    // 5 надо заменить на число адресатов в таблице
    var rowsAmount = 5;
    // Здесь надо указать тему писем
    var messageSubject = "Пресс-релиз";
    // Создаем переменную для активного листа
    var currentSheet = SpreadsheetApp.getActiveSheet();
    // Выделяем диапазон данных и получаем из него данные
    var dataRange = currentSheet.getRange(1, 1, rowsAmount, 3);
    var data = dataRange.getValues();
    // Обходим поочередно ряды в таблице
    for (i in data) {
    var row = data[i];
    // Из первого столбца берем адрес
    var emailAddress = row[0];
    // Получаем содержимое файла по его ID
    var file = DriveApp.getFileById("0ByNftQqMheCPR0s4UndvQlJ6ek0");
    // Формируем текст обращения
    if(row[2]=="женский")
    {
    var appeal = "Уважаемая";
    }
    else
    {
    var appeal = "Уважаемый";
    }
    var emailAddress = row[0];
    var appealText = appeal + " " + row[1] +"!\n";
    var messageText = appealText + "Высылаем Вам пресс-релиз";
    var messageHTML = appealText + "Высылаем <i>Вам</i> <b>пресс-релиз</b>";
    MailApp.sendEmail(emailAddress, messageSubject, messageText, {"htmlBody":messageHTML,
    attachments: [file.getBlob()], replyTo: "[email protected]", name:"Антон Иванов"});
    }
    }
    [/jscript]

    Настраиваем отложенную отправку писем

    Теперь научимся откладывать запуск скрипта на определенное время. Сделать это можно с помощью триггеров. В редакторе скриптов выбрать Ресурсы -> Триггеры текущего проекта и в появившемся окне нажать на ссылку «Добавить новый триггер».

    triggers

    После указываем дату и время выполнения скрипта:

    triggers_2

    Здесь же можно настроить запуск рассылки в определенный день недели или месяца.

    Добавляем кнопку для запуска рассылки в меню

    menu

    Очень удобно запускать рассылку из меню документа. Добавить такую возможность очень легко:

    1. Открываем редактор скриптов;
    2. Вставляем в него код двух функций:
      [jscript]
      // Функция для создания меню
      function createMenu() {
      var currentSheet = SpreadsheetApp.getActiveSpreadsheet();
      var entries = [
      {
      name : "Рассылка",
      functionName : "sendEmails" }];
      currentSheet.addMenu("Мои скрипты", entries);
      }
      // Ставим триггер для отображения меню при открытии документа
      function onOpen() {
      createMenu();
      }
      [/jscript]
    3. Обновляем таблицу в браузере.

    Мы разобрали основные приемы создания автоматизированных рассылок на Google Apps Script. Если у вас есть какие-то вопросы по этой теме, пишите их в комментарии.

    1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (7 голосов, общий рейтинг: 4.43 из 5)
    undefined
    iPhones.ru
    И получать максимальный отклик. Как делать не надо Вот канонический пример некачественной автоматизированной рассылки: У этого письма есть некоторые недостатки, которые воспринимаются как проявление неуважения: Грубое обращение к человеку в теме письма (эту странную фишку применяют многие спамеры); В поле «Отправитель» указан адрес, не принадлежащий конкретной личности; Письмо пришло в полтретьего ночи; Обращение в начале...
Прокомментировать

🙈 Комментарии 25

  1. Varian avatar
    Varian20 декабря 2015
    0

    Спам :/

    Ирина Чернова avatar
    Ирина Чернова20 декабря 2015
    0

    @Varian, ну не только спам:-) этими скриптами, к примеру, можно приглашения на мероприятия рассылать или информационные рассылки для сотрудников некой компании/студентов некоего вуза.

  2. k0200679 avatar
    k020067920 декабря 2015
    0

    Пособие о том как спамить ?

    Ирина Чернова avatar
    Ирина Чернова20 декабря 2015
    0

    @k0200679, не «пособие О ТОМ как спамить», а «пособие ПО созданию эффективных рассылок»;-)

  3. Aleksrims avatar
    Aleksrims20 декабря 2015
    0

    А есть какое нибудь ограничение на количество получателей в день например?
    Хотел сделать рассылку для пользователей своего проекта, там довольно большое количество людей)

    Ирина Чернова avatar
    Ирина Чернова20 декабря 2015
    0

    @Aleksrims, не более 2000 писем в сутки, если людей больше то надо разбить на несколько частей, написать функции для рассылки писем каждой группе и распланировать их выполнение на несколько дней)

    Sergey avatar
    Sergey20 декабря 2015
    0

    @Ирина Чернова, 2000 в сутки это для всех адресатов или только для gmail адресатов? В правилах написано 2000 (500 внешних).

    Ирина Чернова avatar
    Ирина Чернова21 декабря 2015
    0

    @Sergey, киньте ссылку, я какие-то другие правила читала(

    Sergey avatar
    Sergey22 декабря 2015
    0

    @Ирина Чернова, __https://support.google.com/a/answer/166852?hl=ru

    Sergey avatar
    Sergey20 декабря 2015
    0

    @Ирина Чернова, Можно как-то в скрипте написать, что после окончания такой-то функции, приступить ко второй через 25 часов?

    Ирина Чернова avatar
    Ирина Чернова21 декабря 2015
    0

    @Sergey, можно поставить таймер в конец скрипта.

    Sergey avatar
    Sergey22 декабря 2015
    0

    @Ирина Чернова, в каком-то комментарии вы писали про паузу. Я посмотрел, а там максимум, 60 минут или около того.

    chervonenko avatar
    chervonenko21 декабря 2015
    0

    @Ирина Чернова, т.е. вместо одной таблицы контактов надо создать по количеству групп? Или можно сделать разбивку скриптом? Например – взять всех и отправлять по n-штук с t-интервалом.

    Ирина Чернова avatar
    Ирина Чернова21 декабря 2015
    0

    @chervonenko, да можно сделать разбивку скриптом. Самый топорный способ:
    function sendMails() {
    // Выбираем с какой строки начинать рассылку и на какой заканчивать
    var startRow=10;
    var endRow = 20;
    // Здесь надо указать тему писем
    var messageSubject = “Пресс-релиз”;
    // Создаем переменную для активного листа
    var currentSheet = SpreadsheetApp.getActiveSheet();
    // Выделяем диапазон данных и получаем из него данные
    var dataRange = currentSheet.getRange(startRow, 1, endRow, 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);
    }
    }
    Сделать несколько таких скриптов по интервалам и триггерами разбить их выполнение.

  4. ifthenelse avatar
    ifthenelse20 декабря 2015
    0

    Рассылки через Gmail?
    Серьёзно?
    Для таких вещей есть Mailchimp и подобные ему сервисы.

    Ирина Чернова avatar
    Ирина Чернова20 декабря 2015
    0

    @ifthenelse, да, серьезно.
    Благодаря языку Google Apps Script возможности для создания рассылок в Gmail гораздо шире, чем у таких сервисов. Ведь их API предназначен только для генерации писем. А на Google Apps Script можно автоматически создавать электронные таблицы, текстовые документы, делать копии файлов на Drive с уникальными именами для каждого отправителя, парсить веб-сайты и еще дофига всего.
    Рассылки в Gmail бесплатны, а MailChimp нет)

    ifthenelse avatar
    ifthenelse20 декабря 2015
    0

    @Ирина Чернова, зачем мне в рассылке генерирование таблиц и документов? Зачем мне разбираться с программированием, если все необходимые документы для рассылки может подготовить специально обученный человек (текст рассылки кто-то же должен придумать) или CRM-система?
    Мне кажется, вы усложняете всё.
    У меня в компании рассылки делаются средствами известного продукта известной российской компании: каждый месяц по базе активных клиентов идут персонализированные письма с вложенными PDF отчетных документов и актуальных счетов. Рассылается это всё по нажатию одной кнопки или автоматически в заданное время (раз в месяц).
    Информационно-рекламные рассылки идут через “мартышку”. При моих объёмах это не стоит мне ни копейки. Их пишет копирайтер и рассылает либо сразу, либо в заданное время. При этом в “мартышке” можно сверстать красивое письмо, а не рассылать скучный текст.
    Вы же предлагаете либо неэффективно работать с рассылками в веб-интерфейсе почты, либо разбираться с программированием на gas, что весьма сомнительное удовольствие.
    А если компания например, захочет свалить с почты Google (санкции, блокировки) и перейти, например, на Яндекс или свой почтовый сервер, то все наработки с gas превратятся в тыкву.
    Вообще я уверен что для рассылок всё же есть специализированные продукты. Google под это не заточен, поэтому приходится шаманить со скриптами :)

    Ирина Чернова avatar
    Ирина Чернова20 декабря 2015
    0

    @ifthenelse, это статья явно не для тех у которых в распоряжении есть специально обученный человек и CRM-система:-) Да, для масштабных рассылок Gmail не подходит.
    Но миллионы людей в мире используют рассылки в Gmail для частных нужд и нужд микробизнеса) И разбираться тут особо не надо, скрипты очень простые.
    И в Google Apps Script тоже можно сверстать красивое письмо на HTML, а не рассылать скучный текст.
    Большое спасибо Вам за проявленное внимание к статьей и развернутый комментарий)

    Sergey avatar
    Sergey20 декабря 2015
    0

    @ifthenelse, у нас нет таких людей, поскольку компания очень маленькая. Вам повезло, что есть средства на содержание специального человека и сервиса.

  5. ArnhemNL avatar
    ArnhemNL20 декабря 2015
    0

    Раньше это называли спамом

    Ирина Чернова avatar
    Ирина Чернова20 декабря 2015
    0

    @ArnhemNL, ну да с этими скриптами можно спамить) А можно экзаменационные билеты студентам своего потока или приглашения на корпоратив коллегам этими скриптами рассылать, к примеру.

  6. Sergey avatar
    Sergey20 декабря 2015
    0

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

    Ирина Чернова avatar
    Ирина Чернова21 декабря 2015
    0

    @Sergey, автоматизировать составление спецификаций очень интересная задача. Расскажите о ней подробнее. Скорее всего там Google Apps Script не обойдешься, понадобиться Perl)

  7. $@@$ avatar
    $@@$26 декабря 2015
    0

    Ребята, привет!
    Мне нужно такой скрипт написать под ключ.
    Есть ли мастер, который запилит за деньги?
    Заранее благодарен за наводку.
    Можно писать на akv(гав)atelia.ru

  8. karapeichik avatar
    karapeichik29 декабря 2016
    0

    Ирина благодарю за подробное разжевывание скриптов, даже я понял…:). Использовал Ваш скрипт для рассылки, все работает. Подскажите как можно автоматизировать задачу. Есть общий файл где около 100 листов, на листе персональные данные по сотруднику. С каждого листа данные передаются IMPORTRANGE на другую книгу к которой доступ имеет соответствующий сотрудник и еще 2 человека. Осталось создать 60 листов и 60 файлов и прописать адреса в IMPORTRANGE, раздать доступы. Подскажите как можно автоматизировать задачу. Спасибо

Вы должны авторизоваться или зарегистрироваться для комментирования.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.

Как установить аватар в комментариях?

Ответ вот здесь