Как правильно делать автоматизированные рассылки в Gmail
И получать максимальный отклик.
Как делать не надо
Вот канонический пример некачественной автоматизированной рассылки:
У этого письма есть некоторые недостатки, которые воспринимаются как проявление неуважения:
- Грубое обращение к человеку в теме письма (эту странную фишку применяют многие спамеры);
- В поле «Отправитель» указан адрес, не принадлежащий конкретной личности;
- Письмо пришло в полтретьего ночи;
- Обращение в начале письма не соответствует этике делового общения;
- Текст не отформатирован;
- Много неуместного выделения слов большими буквами;
- Информация об отправителе дается в самом конце письма;
- Отправители явно не читали текст рассылки.
На такое предложение нет желания отвечать. Если бы письмо было составлено аккуратнее, то я бы из вежливости написала несколько слов о том, что мне это не интересно и консультант могла вывести меня на диалог и, возможно, уговорить на сотрудничество. Но после такого сообщения, я постараюсь обходить эту «Международную редакцию» стороной.
Как сделать лучше
Чтобы получать ответы на свои рассылки следует придерживаться правила:
Получатель должен быть уверен, что письмо составлено персонально для него
Мало кто любит отвечать на автоматические письма. Но лишь у самого невежливого или загруженного почтой человека совесть позволит не черкнуть хотя бы пару строк на сообщение адресованное лично ему.
Из вышеприведенного правила вытекают рекомендации:
- Письмо желательно отправлять от имени конкретного человека;
- У письма не должно быть несколько десятков получателей (так происходит, когда рассылки делают через копию);
- Лучше, когда тема письма четко отражает его суть;
- В начале письма желательно поздороваться;
- К человеку лучше обратиться по имени, указав на его половую принадлежность. Пример: «Уважаемый, Михаил!»;
- Если пишите в первый раз, то в начале письма неплохо бы представиться;
- Отправлять письмо желательно в рабочее время;
- В конце письма можно еще раз обратиться по имени и намекнуть о своем ожидании ответа на письмо;
- В письмо лучше не вставлять ссылку на файл, а прикрепить его в виде вложения.
Эти рекомендации не являются аксиомами делового этикета. Это просто пожелания, основанные на собственном опыте получения тысяч автоматически сгенерированных писем с пресс-релизами, приглашениями, анкетами и предложениями услуг.
Рассылки на GAS
А теперь, перейдем к самой интересной части статьи. Научимся делать автоматизированные рассылки с помощью Google Apps Script, видоизмененной версии JavaScript. Этот язык предназначен для автоматизации работы с сервисами Google.
Об использовании Google Apps Script уже вышло несколько статей на iPhones. Рекомендую ознакомиться с ними для более глубокого понимания темы.
Сделать автоматическую рассылку в Gmail очень просто:
- Открываем doc.google.com и создаем новую электронную таблицу;
- В первый столбец забиваем получателей, а во второй их адреса;
- Открываем Инструменты → Редактор скриптов;
- Вбиваем туда следующий код, не забыв указать нужное число получателей:
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); } }
- Нажимаем на кнопку Запустить и даем скрипту все разрешения, которые он попросит.
Это был базовый пример кода, на основе которого можно сделать рассылку любой сложности. Разберем несколько приемов по его доработке.
Добавляем обращение
Традиционно, первую строку в письме занимает обращение: «Уважаемый Михаил!» или «Уважаемая Анастасия». Чтобы добавить обращение к автоматическому письму надо сделать следующие:
- В третьем столбце обозначить пол абонента: «мужской» или «женский».
- Немного видоизменить вышеприведенный код:
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); } }
Форматируем текст письма
В примере плохой рассылки, приведенном в начале статьи «важные» слова выделены CAPS-ом. На мой вкус, это не добавляет позитивных эмоций получателю. Если есть необходимость выделить что-то в тексте письма, то лучше выделить это курсивом или жирным шрифтом. Сделать это можно с помощью языка разметки HTML. Этот код нужно поставить после объявления переменной appealText:
var messageText = appealText + "Высылаем Вам пресс-релиз"; var messageHTML = appealText + "Высылаем Вам пресс-релиз"; MailApp.sendEmail(emailAddress, messageSubject,messageText, {"htmlBody":messageHTML});
Две переменные с текcтом письма указываются у метода sendEmail на случай, если почтовые клиенты получателей не поддерживают HTML.
Редактируем данные отправителя
В Google Apps Script есть возможность для письма указать имя отправителя и адрес, на который надо отправлять ответ на письмо. Можно сделать рассылку с ящика на Gmail, а ответы принимать на корпоративную почту. Вот код с примером указания имени отправителя и адреса для ответа:
MailApp.sendEmail(emailAddress, messageSubject,messageText, {"htmlBody":messageHTML, replyTo: "ivanov@example.com", name:"Антон Иванов"});
Прикрепляем вложения
Для того, чтобы автоматически вкладывать файл в письмо, его необходимо предварительно сохранить на Google Drive и узнать его ID (правой кнопкой мыши кликнуть на файл и выбрать пункт меню «Получить ссылку»).
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 + "Высылаем Вам пресс-релиз"; MailApp.sendEmail(emailAddress, messageSubject, messageText, {"htmlBody":messageHTML, attachments: [file.getBlob()], replyTo: "chernova@example.com", name:"Антон Иванов"}); } }
Настраиваем отложенную отправку писем
Теперь научимся откладывать запуск скрипта на определенное время. Сделать это можно с помощью триггеров. В редакторе скриптов выбрать Ресурсы → Триггеры текущего проекта и в появившемся окне нажать на ссылку «Добавить новый триггер».
После указываем дату и время выполнения скрипта:
Здесь же можно настроить запуск рассылки в определенный день недели или месяца.
Добавляем кнопку для запуска рассылки в меню
Очень удобно запускать рассылку из меню документа. Добавить такую возможность очень легко:
- Открываем редактор скриптов;
- Вставляем в него код двух функций:
// Функция для создания меню function createMenu() { var currentSheet = SpreadsheetApp.getActiveSpreadsheet(); var entries = [ { name : "Рассылка", functionName : "sendEmails" }]; currentSheet.addMenu("Мои скрипты", entries); } // Ставим триггер для отображения меню при открытии документа function onOpen() { createMenu(); }
- Обновляем таблицу в браузере.
Мы разобрали основные приемы создания автоматизированных рассылок на Google Apps Script. Если у вас есть какие-то вопросы по этой теме, пишите их в комментарии.