Google Apps Script: SendMail — это мощный инструмент для автоматизации задач в экосистеме Google Workspace. В данном примере рассмотрен скрипт, который автоматически отправляет письма на основе данных, полученных из Google Forms.
https://developers.google.com/apps-script/reference/mail/mail-app
Принцип работы системы Google Apps Script: SendMail
Скрипт выполняет последовательность действий для обработки и отправки писем:
- Получение данных из формы
- Подключение к активной Google Таблице
- Определение листа “Ответы на форму (1)”, куда поступают данные
- Извлечение email-адреса клиента из последней заполненной строки (столбец B)
- Получение выбора клиента (столбец C) о предпочтительном времени обратной связи
- Формирование содержания письма
- Подготовка четырех вариантов HTML-шаблонов писем
- Шаблоны различаются по времени предполагаемого звонка (сегодня, завтра, послезавтра)
- Стандартный шаблон для случаев, когда выбор не сделан
- Использование HTML-разметки для профессионального оформления:
- Жирное выделение важной информации
- Гиперссылки на дополнительный ресурс
- Четкая структура сообщения
- Логика выбора шаблона
- Анализ выбора клиента из формы
- Сопоставление с соответствующим шаблоном письма
- Использование стандартного сообщения при отсутствии выбора
- Отправка письма
- Применение метода MailApp.sendEmail
- Указание получателя (email из формы)
- Задание темы письма (“Vormi vastus”)
- Передача HTML-содержания через параметр htmlBody
Технические особенности реализации
Скрипт использует следующие ключевые компоненты Google Apps Script: SendMail näidis
- SpreadsheetApp для работы с Google Таблицами
- getRange() и getValue() для доступа к данным
- Условные операторы (if/else) для выбора шаблона
- MailApp.sendEmail() для отправки сообщений
- HTML-разметку для оформления писем
Преимущества решения
- Экономия времени – автоматическая обработка каждой новой заявки
- Персонализация – разные варианты сообщений в зависимости от выбора
- Профессиональный вид – HTML-оформление писем
- Надежность – минимизация человеческого фактора
- Масштабируемость – обработка неограниченного количества заявок
Возможности расширения функционала
Предложенное решение можно усовершенствовать:
- Добавлением обработки ошибок при отправке
- Включением дополнительных данных из формы в письмо
- Реализацией многоязычной поддержки
- Интеграцией с Google Календарем для автоматического создания событий
- Добавлением вложений к письмам
- Ведением лога отправленных сообщений
Данный скрипт представляет собой готовое решение для автоматизации коммуникации с клиентами, которое можно легко адаптировать под конкретные бизнес-задачи.
function sendEmailToClient() {
//Текущая Гугл Таблица записана в переменную:
var ss = SpreadsheetApp.getActiveSpreadsheet();
//Лист текущей таблицы с именем "Ответы на форму (1)", в который загружаются ответы из формы, записан в переменную:
var listAnswers = ss.getSheetByName("Ответы на форму (1)");
//Получен email клиента из ячейки с адресом: последняя строка, 4 ряд, - и записан в переменную:
var clientEmail = listAnswers.getRange(listAnswers.getLastRow(),2).getValue();
//valik - viimane rida kolmas veerg
var valik = listAnswers.getRange(listAnswers.getLastRow(),3).getValue();
//Тело письма, отформатированное в html-разметке, записано в переменную:
var bodyValik1 =
'Tere! <br/> Me saime kätte teie avaldus.<strong>Avaldus</strong><br/> ' +
'Täna helisatme sulle.<br/>' +
'<br/><br/>' + '<a href = "https://www.tthk.ee/">Rohkem infot</a>'+ '<br/><br/>' +
'Lugupidamisega, <br/> Anastassia Kostjuk';
var bodyValik2 =
'Tere! <br/> Me saime kätte teie avaldus.<strong>Avaldus</strong><br/> ' +
'Homme helistame sulle.<br/>' +
'<br/><br/>' + '<a href = "https://www.tthk.ee/">Rohkem infot</a>'+ '<br/><br/>' +
'Lugupidamisega, <br/> Anastassia Kostjuk';
var bodyValik3 =
'Tere! <br/> Me saime kätte teie avaldus.<strong>Avaldus</strong><br/> ' +
'Ülehomme helistame sulle.<br/>' +
'<br/><br/>' + '<a href = "https://www.tthk.ee/">Rohkem infot</a>'+ '<br/><br/>' +
'Lugupidamisega, <br/> Anastassia Kostjuk';
var bodyValimata =
'Tere! <br/> Me ei saanud sinu vastust!<strong></strong><br/> ' +
'Lugupidamisega, <br/> Anastassia Kostjuk';
var body;
//tingimused
if(valik== 'tana'){body=bodyValik1}
else if(valik== 'homme'){body=bodyValik2}
else if(valik== 'ulehomme'){body=bodyValik3}
else {body=bodyValimata}
//В описании кода приведены дополнительные пояснения относительно html-разметки
//Отправлено письмо клиенту (отправителем будет тот, кто запускает скрипт):
//Для отправки используется функция sendEmail (по-правильному: метод класса MailApp)
//Ссылка на подробную информацию о методе в описании к коду
MailApp.sendEmail(clientEmail, "Vormi vastus",'',{htmlBody: body});
}