как отправить письмо в гугл форме
Как отправить письмо в гугл форме
Как известно, формы Google являются удобным, надежным и бесплатным инструментом для взаимодействия с посетителями сайта. Но зачем использовать Google Forms, если существует множество различных компонентов и плагинов, которые позволяют организовать обратную связь в рамках одного сайта?
Почему Google Forms?
Безусловно, применяя встраиваемые в Ваш сайт формы-компоненты, Вы получаете такие выгоды:
Вместе с тем, формы-плагины:
Из собственного опыта скажу, что когда пользователи заполняют и отправляют форму с сайта, а данные записываются в базу лишь частично или возникают какие-то другие баги (первая и главная проблема из описанных выше) — невольно задумываешься о переходе на формы с надежного внешнего ресурса. Я пока остановился на Google Forms [примечание: информация актуальна на 2016 год]
Автоматизация работы с пользователями
Если Вам нужно просто собрать какую-то информацию (например, адреса пользователей), то самой Google-формы будет вполне достаточно. Однако, в последнее время популярными становятся схемы, когда после заполнения формы пользователю следует, например, передать ссылку на скачивание файла. Разумеется, этот процесс желательно автоматизировать, особенно когда счет пользователей идет на десятки и более.
Пример заполнения формы
Рассмотрим данную задачу на примере простой Google-формы. Для этого создадим тестовую заготовку:
Рис. 1. Пример простой Google-формы
После создания формы, Google попросит Вас связать ее с формой ответов (электронной таблицей). Делаем это.
А если попытаться обойтись без скрипта?
Далеко не все любят программировать. Если Вы хотите настроить автоматизацию в визуальном режиме, без кода, можно воспользоваться дополнениями к Google Forms:
Рис. 2. Как выбрать и установить дополнение к Google-форме
Откровенно говоря, витрина дополнений к Google Forms выглядит грустно: всего пара десятков дополнений, из которых абсолютно бесплатны лишь несколько. Да и функционал их не всегда отвечает поставленным задачам, поэтому я все же рекомендую настраивать автоматизацию с помощью существенно более гибкого (и бесплатного!) инструмента — специального языка программирования Google Script.
Покажем на предыдущем примере, как автоматизировать отправку сообщения тому, кто заполнил нашу тестовую форму.
Работа с таблицей ответов
Данные, которые пользователи будут вводить в поля Google-формы, сохраняются в электронной таблице Google Spreadsheet (облачный аналог MS Excel). Чтобы данные записались в таблицу, нужно запустить форму на выполнение (кнопка «Открыть форму»):
Рис. 3. Пример ввода данных в форму
После нажатия кнопки «Готово» возвращаемся в исходник формы и нажимаем «Просмотреть ответы». Данные каждого нового пользователя будут записаны в отдельную строку:
Рис. 4. Данные пользователя сохранены в таблице
Как отправить письмо через Google Script
Чтобы сформировать скрипт для отправки сообщения пользователю, перейдем в меню «Инструменты» > «Редактор скриптов. «:
Рис. 5. Запуск редактора скриптов
Окно редактора скриптов выглядит следующим образом (название проекта по умолчанию заменено на «Авто-ответ респонденту»):
Рис. 6. Редактор скриптов Google Script
Ниже приведем полный текст скрипта, после чего поясним смысл его ключевых строк.
function sendFormByEmail(e)
<
// instance of Active Spreadsheet:
var responceSheet = SpreadsheetApp.getActiveSheet();
// number of rows in responce form:
var rows = responceSheet.getLastRow();
// range of names, e-mails:
var namesRange = responceSheet.getRange(rows, 2, 1, 1);
var emailsRange = responceSheet.getRange(rows, 3, 1, 1);
// last sender’s name, e-mail::
var nameSender = namesRange.getValue();
var emailSender = emailsRange.getValue();
// message ReplyTo, subject, body:
var emailReplyTo = » Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript. «;
var subject = «Спасибо за Ваш интерес»;
var body = «Здравствуйте, » + nameSender + «!
Спасибо, что Вы с нами :)»;
// send the e-mails:
MailApp.sendEmail(emailSender, emailReplyTo, subject, body);
>
Главная функция скрипта
В строке 1 задаем имя главной функции скрипта, и передаем в нее параметр «e» (данные формы).
Инициализация переменных
В строке 4 мы объявили переменную «responceSheet», которую инициализировали значением активного (открытого в данный момент) листа в электронной таблице. Листов в таблице может быть несколько, но по умолчанию создается один лист, поэтому он всегда будет активным. Класс SpreadsheetApp является стандартным классом Google Script для управления электронными таблицами, а его метод getActiveSheet возвращает активный лист таблицы.
В строке 7 с помощью метода getLastRow записываем в переменную «rows» количество строк нашей таблицы.
В строках 10, 11 инициализируются переменные «namesRange» и «emailsRange» соответственно, отвечающие за списки имен и e-mail всех пользователей (наборы данных). Метод getRange(row, col, rowN, colN) принимает аргументы:
Чтобы отправить сообщение тому пользвателю, который заполнил форму последним, нам всегда нужна последняя строка таблицы (рис. 4), поэтому первым аргументом идет номер последней строки «rows». Далее, все имена будут располагаться в столбце 2, а адреса — в столбце 3. Окончательно, нам понадобится только одна ячейка таблицы, поэтому количество строк и столбцов в методе getRange rowN=1, colN=1.
В строках 14, 15 извлекаем из переменных «namesRange» и «emailsRange» имя и адрес пользователя, и записываем их в строковые переменные «nameSender» и «emailSender», соответственно.
В строках 18, 19, 20 инициализируются строковые переменные, отвечающие за обратный адрес (кому писать ответ), тему и основной текст письма. Основной текст в данном примере содержит некоторые элементы HTML-форматирования, с целью придания сообщению более приятного вида.
Отправка сообщения
Отправка сообщения происходит в строке 23. Используем стандартный класс MailApp, и его метод sendEmail.
Настройка поведения
Если сейчас оставить все «как есть», то при заполнении пользователем нашей Google-формы ничего не произойдет. Чтобы активировать схему взаимодействия, нужно настроить триггеры:
Рис. 7. Настройка триггеров
Удаляем неиспользуемые триггеры (серым цветом) из формы, оставляем один. В поле «Мероприятия» устанавливаем значение «Из таблицы» > «Отправка формы». Этот параметр указывает, что наш скрипт будет выполняться тогда, когда произойдет отправка формы (пользователь нажмет кнопку «Готово»).
Перед первой установкой триггеров, Google может потребовать предоставить доступ к некоторым разделам Вашего аккаунта — соглашаемся на это.
Отладка скрипта
Чтобы проверить, как работает наш скрипт, воспользуемся функцией «Отладка»:
Рис. 8. Отладка скрипта
Если в коде допущены ошибки, редактор укажет на них. Если ошибок нет, то скрипт запускается на выполнение.
Внимание! Если по логике вашего скрипта происходит чтение данных из таблицы и отправка сообщения, то в режиме отладки так и произойдет — письмо тут же будет отправлено по указанному адресу. Проследите, чтобы пользователи Вашего сайта не получили от Вас каких-то отладочных сообщений.
Результат работы
На примере тестовых данных (рис. 3) получим следующий результат:
Рис. 9. Сообщение доставлено
Как видим, сообщение из скрипта было успешно доставлено по указанному нами адресу.
Успехов в освоении Google Forms и Google Script! Оставляйте комментарии, делайте репосты.
P.S. HTML-форматирование
На момент написания статьи, функция SendEmail класса MailApp допускала HTML-форматирование письма, но с более поздними версиями это может не сработать. Чтобы добиться HTML-формата, используйте следующий синтаксис:
Как отправить электронное письмо на основе ответа в Google Forms
Google Forms позволяет вам разными способами собирать ответы и мнения респондентов, будь то простой тест или длинный вопросник. Хотя в Google Forms есть несколько удобных встроенных функций, они пока не позволяют отправлять уведомления по электронной почте себе или респонденту.
Последнее подходит, если вы хотите поблагодарить пользователя за его ответ и время. С другой стороны, если ваша форма предназначена для широкой аудитории и в ней задействовано несколько отделов, просеивание всех ответов в форме занимает много времени.
К счастью, есть несколько обходных путей, с помощью которых вы можете отправлять электронные письма владельцу или отдельным лицам. Есть два способа продвинуться в этом направлении.
Вы можете отправить электронное письмо на основе любого ответа в вашей форме. Или вы можете отправить его в зависимости от ответов, которые выбрали пользователи. И, как отмечалось ранее, оба метода требуют внешней надстройки. Поскольку вы будете отправлять электронное письмо из своей учетной записи, вам необходимо предоставить соответствующие разрешения для надстройки или функции.
Теперь, когда у нас все улажено, давайте начнем, ладно?
Как отправить стандартное электронное письмо с помощью Google Forms
К счастью, отправка обычного электронного письма пользователю или владельцу — это не ракетостроение. Надстройка Form Notifications с метко названным названием позволяет отправлять пользователям простые электронные письма с благодарностью.
Шаг 1: После того, как вы создали форму, щелкните трехточечное меню справа и выберите в списке Надстройки. Это приведет вас к Google Marketplace.
Шаг 2: Теперь найдите Уведомления о формах и щелкните по нему, чтобы установить.
Далее создайте форму. Если вы хотите отправлять электронные письма респонденту напрямую, установите флажок «Собирать электронные письма» в разделе «Настройки».
Или же вы можете задать вопрос формы, запрашивая электронное письмо от пользователя, и пометить его как обязательный, как показано ниже.
Шаг 3: После этого щелкните маленький значок надстройки и выберите Уведомления формы. Вы увидите подсказку в правом нижнем углу.
Переключите кнопку для письма с благодарностью.
Как отмечалось ранее, вы можете использовать либо поле «Автоматически», либо поле «Форма». Выберите тот, который лучше всего соответствует вашим требованиям. В то же время вы также можете добавить скрытую копию для электронного письма, заполнив поле «Отправить копию в».
Шаг 4: Затем добавьте тему и текст сообщения электронной почты, и на этом все! Сохраните настройки и щелкните значок «Предварительный просмотр» вверху, чтобы проверить, подходят ли вам текущие конфигурации.
Это простое дополнение, и его настройка проста и понятна. И тег «Опубликовано в Google Cloud» также делает его более надежным.
Помимо вышеуказанного, вы также можете отправить электронное письмо себе (или создателю), когда форма наберет фиксированное количество ответов.
Для этого нажмите кнопку «Уведомлять об ответе формы». Электронная почта создателя будет автоматически заполнена в поле получателя. Это не жестко запрограммировано, и вы также можете ввести другие адреса электронной почты.
После этого добавьте порог уведомления и нажмите кнопку «Сохранить». С этого момента ваша форма будет отправлять электронное письмо, как только она превысит порог ответа.
Как отправлять ответы на основе ответов
Давайте положим это прямо здесь. Если вы хотите отправлять ответы на основе ответов в вашей форме, это не так просто, как описанный выше процесс. Здесь вам придется повозиться со скриптом приложения подключенной электронной таблицы.
К счастью, если у вас есть простая форма, с ней будет легко справиться. В нашем случае у нас есть простая форма, в которой мы спрашиваем респондентов о том, где они предпочитают отдыхать.
И в зависимости от ответов, которые они предоставят в форме, электронное письмо будет отправлено на указанный адрес электронной почты. Естественно, код может быть изменен в соответствии с требованиями вашей формы.
Шаг 1: Как только ваша форма будет создана, щелкните вкладку Responses и нажмите на маленький значок электронной таблицы справа. Это свяжет вашу форму с электронной таблицей.
Шаг 2: Перейдите в электронную таблицу и нажмите Инструменты> Редактор скриптов.
В редакторе скриптов вставьте следующие строки кода:
Здесь е это событие, которое будет инициировано при отправке формы, в то время как e. namedValues объект предоставит вам данные формы в виде массива.
Как только эти данные будут захвачены, оператор For будет циклически перемещаться по массиву, чтобы предоставить вам данные. В конце концов, данные формы для этого конкретного ответа будут присвоены prefLocation Переменная.
Шаг 3: Между тем, нажмите на маленький значок часов на левой панели, чтобы получить доступ к триггерам, и выберите «Добавить триггеры».
Здесь выберите «Из электронной таблицы» в качестве источника события и «При отправке формы» в качестве типа события.
Вышеупомянутое гарантирует, что функция, которую мы написали выше, будет запускаться только при отправке формы. И при отправке он будет извлекать данные только из подключенной электронной таблицы.
Шаг 4: Теперь вернитесь в редактор сценариев, чтобы изменить код в соответствии с вашими требованиями.
В нашем случае мы хотим, чтобы электронное письмо отправлялось на конкретный идентификатор электронной почты, когда респондент отвечает Hills, и так далее.
Итак, мы добавили в код простое условие If и Else-If,
Естественно, вам нужно будет предоставить разрешение на GmailApp.sendEmaiЯ работаю. Однако это разовый процесс.
Шаг 5: Теперь, когда все на месте, сохраните код, щелкнув значок «Сохранить», как показано ниже.
Теперь запустите код. К сожалению, в отсутствие события вы не сможете запустить код непосредственно из редактора скриптов.
Чтобы запустить ваш код, отправьте форму. Если все в нужном месте, велика вероятность, что вы получите электронное письмо.
После этого вы можете настроить код в соответствии с вашими требованиями и добавить отдельные условия If-Else. В то же время вы также можете составить текст письма в соответствии с данными.
Как проверить наличие ошибок
Выполнить код без ошибок с первого раза — это редкость, и, честно говоря, есть много вещей, которые могут пойти не так. Чтобы проверить наличие ошибок, перейдите на вкладку «Выполнения», и вы увидите все экземпляры, которые вызывала функция.
Щелкните, чтобы увидеть ошибки. Здесь вы также можете увидеть, как была вызвана функция. Тег Trigger переводится в отправку формы, а тег Editor означает, что функция была запущена через редактор.
В то же время, если вы хотите перепроверить значение функции, просто добавьте Logger.log (переменную) для регистрации данных.
Например, мы вызвали Logger.log (prefLocation) внутри отдельных условий If-Else, и наш журнал выглядел так, как указано выше.
Кодировать или не кодировать
Второй способ может показаться немного сложным. Но как только вы поймете, как вызываются отдельные функции, шансы немного упростятся.
Но в конце концов, если вы не хотите пачкать руки, вы можете проверить Формы уведомлений по электронной почте добавить. Он предназначен для отправки электронных писем на основе условных ответов. Однако функция условного форматирования не бесплатна и стоит примерно 4 доллара в месяц за однопользовательскую лицензию.
Итак, если вам нужно время от времени отправлять ответы для ваших форм, вы можете вставить приведенный выше код в редактор сценария приложения.
Настраиваем автоматическую отправку писем участникам опроса
Допустим, вы устроили акцию. Участникам вы пообещали отправить бонусы после заполнения анкеты. Расскажем о том, как настроить авторассылку из Google. В процессе будет задействованы три сервиса Google: Gmail, Google Таблицы и Google Формы.
Настроить автоотправку через Google гораздо быстрее и проще, чем подключать сторонние сервисы и настраивать интеграцию. Суть метода в том, что вы просто вставляете готовый код через редактор скриптов. Это сможет сделать любой пользователь без опыта программирования.
Расскажем по шагам. Создаем анкету через Google формы.
Не забываем настроить проверку данных для пункта Email.
Заходим во вкладку ответы и создаем таблицу (жмем на зеленую иконку).
Таблица появится в той же папке, что и созданная анкета. Открываем таблицу и заходим в редактор скриптов.
function sendFormByEmail(e)
<
// instance of Active Spreadsheet:
var responceSheet = SpreadsheetApp.getActiveSheet();
// number of rows in responce form:
var rows = responceSheet.getLastRow();
// range of names, e-mails:
var namesRange = responceSheet.getRange(rows, 2, 1, 1);
var emailsRange = responceSheet.getRange(rows, 3, 1, 1);
// last sender’s name, e-mail::
var nameSender = namesRange.getValue();
var emailSender = emailsRange.getValue();
// message ReplyTo, subject, body:
var emailReplyTo = «manager@site.com»;
var subject = «Спасибо за Ваш интерес»;
var body = «Получите Ваш приз! Книга «40 советов по работе с трафиком, аналитике, удержанию клиентов и сервису»:https://drive.google.com/file/d/0B_jXYYp1RrnieFZUck1mRmYwY1k/view?usp=sharing»;
Обращаем внимание на строку, которая отвечает за адрес подписчика:
var emailsRange = responceSheet.getRange(rows, 3, 1, 1);
Цифра 3 соответствует номеру столбца. Это значит, что в таблице в третьем столбце сохраняется емейл. Если в вашей таблице емейл стоит в другом столбце, впишите в код номер этого столбца.
По такому же принципу работаем со строкой, которая отвечает за имя:
var namesRange = responceSheet.getRange(rows, 2, 1, 1);
Имя будет прописано в тексте письма, так мы обратимся к подписчику персонально.
В строке VarBody прописываете текст письма:
var body = «Получите Ваш приз! Книга «40 советов по работе с трафиком, аналитике, удержанию клиентов и сервису»: https://drive.google.com/file/d/0B_jXYYp1RrnieFZUck1mRmYwY1k/view?usp=sharing»;
Чтобы письмо уходило сразу после того, как участник закончил заполнять анкету, настраиваем триггер.
Нажимаем на ссылку, чтобы добавить триггер.
Из списка выбираем: «из таблицы» и «отправка формы».
Теперь каждый участник опроса сразу получит письмо на указанный емейл.
Как получать ответы Google Forms на вашу электронную почту
Хотя Google Forms дает пользователям свободу настраивать содержимое любого типа формы, контроль над уведомлениями о полученных ответах ограничен. По умолчанию Google Forms не отправляет автоматически уведомления по электронной почте о новых ответах на формы, если вы не включите это в настройках формы.
И когда вы это сделаете, электронное уведомление не будет содержать ответов формы. Это означает, что вам нужно будет посетить панель управления Google Forms, чтобы просмотреть ответы респондента на вашу форму.
Электронное письмо с уведомлением об ответе Google Forms по умолчанию
Зачем тратить время и пропускную способность Интернета, оставляя свой почтовый ящик на панели инструментов Google Forms, если вы можете получить ответы в письмах с уведомлениями?
Существует надстройка Google Forms, которая позволяет вам добиться этого, и все, что вам нужно знать о том, как это сделать, в этом посте ниже.
Отправка ответов формы на вашу электронную почту
Шаг 1: Когда вы закончите создание или редактирование формы на панели инструментов Google Forms, коснитесь значка надстройки в верхнем левом углу страницы.
Шаг 2: Коснитесь параметра «Уведомления по электронной почте для Google Forms».
Шаг 3: В новом всплывающем окне выберите параметр «Создать уведомление по электронной почте».
Это вызывает новый раздел в нижнем левом углу страницы Google Forms. Здесь вы можете настроить содержание ответов формы, которые будут отправляться на вашу электронную почту.
Шаг 4: Введите имя в разделе «Имя правила». Имя правила может быть таким же, как заголовок / имя вашей формы. Таким образом, правило можно будет легко идентифицировать, если вам понадобится изменить его позже.
Sпульс 5: Затем введите адрес электронной почты, на который нужно отправлять ответы формы. Это может быть тот же адрес электронной почты, который подключен к вашей учетной записи Google Form, или совершенно другой.
Шаг 6: Прокрутите окно вниз и нажмите кнопку «Сохранить правило», чтобы подтвердить все изменения.
Вот и все. Каждый раз, когда появляется новый ответ на вашу форму, вы будете уведомлены об ответах / ответах респондента (ов), которые также будут напрямую отображаться в письме.
Вам больше не нужно будет посещать панель инструментов Google Forms для просмотра ответов на ваши формы — если вы этого не хотите.
Настройка выбора ответа и шаблона
Еще одна вещь, которая мне понравилась в этом дополнении, — это то, что оно позволяет пользователям настраивать шаблон своих ответов на формы.
Это означает, что вы можете выбрать, на какие вопросы вы хотите просмотреть их ответы в своем почтовом ящике.
Шаг 1: Нажмите кнопку «Изменить» рядом с параметром «Использовать визуальный редактор».
Откроется новое окно «Дизайнер шаблонов электронной почты».
Шаг 2: Если вам нужно только просмотреть ответы на конкретный вопрос, снимите флажок «<<Все ответы>>» в теле сообщения и нажмите кнопку раскрывающегося списка «Добавить поле формы».
Шаг 3: В разделе «Ответить на …» выберите вопрос, ответ на который вы хотите увидеть в ответном письме.
Вы можете выбрать несколько вопросов один за другим.
Шаг 4: В разделе Generic поля формы вы также можете добавить другие дополнительные сведения, такие как URL-адрес формы, Дата ответа, Идентификатор ответа и т. Д.
Просто нажмите на любой из них, чтобы добавить в свой шаблон.
Шаг 5: Когда вы закончите настройку шаблона формы, нажмите кнопку Сохранить.
Экономьте время с надстройками
Надстройки Google Forms позволяют творчески подходить к вашим формам. Это дополнение к уведомлениям по электронной почте экономит ваше время, поскольку оно предоставляет все ответы респондентов в электронном письме с уведомлением. Не выходя из почтового ящика, у вас есть вся необходимая информация. Он даже позволяет вам настроить шаблон электронного письма с уведомлением. Вам обязательно стоит попробовать, если вы являетесь страстным пользователем Google Forms.
Следующий: Знаете ли вы, что вы можете эффективно сотрудничать и управлять опросами, автоматически отправляя ответы Google Forms на несколько адресов электронной почты? Ознакомьтесь с руководством ниже, чтобы узнать, как это сделать.