Google Apps Script: SendMail — это мощный инструмент для автоматизации задач в экосистеме Google Workspace. В данном примере рассмотрен скрипт, который автоматически отправляет письма на основе данных, полученных из Google Forms.

https://developers.google.com/apps-script/reference/mail/mail-app

Принцип работы системы Google Apps Script: SendMail

Скрипт выполняет последовательность действий для обработки и отправки писем:

  1. Получение данных из формы
    • Подключение к активной Google Таблице
    • Определение листа “Ответы на форму (1)”, куда поступают данные
    • Извлечение email-адреса клиента из последней заполненной строки (столбец B)
    • Получение выбора клиента (столбец C) о предпочтительном времени обратной связи
  2. Формирование содержания письма
    • Подготовка четырех вариантов HTML-шаблонов писем
    • Шаблоны различаются по времени предполагаемого звонка (сегодня, завтра, послезавтра)
    • Стандартный шаблон для случаев, когда выбор не сделан
    • Использование HTML-разметки для профессионального оформления:
      • Жирное выделение важной информации
      • Гиперссылки на дополнительный ресурс
      • Четкая структура сообщения
  3. Логика выбора шаблона
    • Анализ выбора клиента из формы
    • Сопоставление с соответствующим шаблоном письма
    • Использование стандартного сообщения при отсутствии выбора
  4. Отправка письма
    • Применение метода MailApp.sendEmail
    • Указание получателя (email из формы)
    • Задание темы письма (“Vormi vastus”)
    • Передача HTML-содержания через параметр htmlBody

Технические особенности реализации

Скрипт использует следующие ключевые компоненты Google Apps Script: SendMail näidis

  • SpreadsheetApp для работы с Google Таблицами
  • getRange() и getValue() для доступа к данным
  • Условные операторы (if/else) для выбора шаблона
  • MailApp.sendEmail() для отправки сообщений
  • HTML-разметку для оформления писем

Преимущества решения

  1. Экономия времени – автоматическая обработка каждой новой заявки
  2. Персонализация – разные варианты сообщений в зависимости от выбора
  3. Профессиональный вид – HTML-оформление писем
  4. Надежность – минимизация человеческого фактора
  5. Масштабируемость – обработка неограниченного количества заявок

Возможности расширения функционала

Предложенное решение можно усовершенствовать:

  1. Добавлением обработки ошибок при отправке
  2. Включением дополнительных данных из формы в письмо
  3. Реализацией многоязычной поддержки
  4. Интеграцией с Google Календарем для автоматического создания событий
  5. Добавлением вложений к письмам
  6. Ведением лога отправленных сообщений

Данный скрипт представляет собой готовое решение для автоматизации коммуникации с клиентами, которое можно легко адаптировать под конкретные бизнес-задачи.

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});

    }