Google Apps Script: Как создать электронное письмо?

Что такое Google Apps Script и его преимущества

Google Apps Script – это облачный язык сценариев, позволяющий автоматизировать задачи и интегрировать различные сервисы Google, такие как Gmail, Google Sheets и Google Drive. Одним из наиболее распространенных применений является автоматическая отправка электронных писем. Преимущества использования Google Apps Script для отправки писем включают:

Автоматизация: Отправка писем по расписанию или на основе триггеров.

Персонализация: Создание индивидуальных писем для каждого получателя.

Интеграция: Взаимодействие с другими сервисами Google для динамического формирования контента.

Масштабируемость: Легкая отправка большого количества писем.

Настройка проекта Google Apps Script для отправки писем

Прежде чем начать отправлять письма, необходимо создать проект Google Apps Script. Для этого откройте Google Drive, нажмите "Создать" -> "Ещё" -> "Google Apps Script". Дайте проекту имя, например, "Отправка писем". Google Apps Script использует контекст авторизации аккаунта, в котором запущен скрипт, поэтому для отправки писем от имени конкретного пользователя, убедитесь, что скрипт запускается от его имени.

Простейший способ: отправка простого текстового письма

Использование метода `MailApp.sendEmail()`

Самый простой способ отправки электронных писем – использование метода MailApp.sendEmail(). Этот метод позволяет отправлять простые текстовые письма без HTML-форматирования.

Основные параметры: `to`, `subject`, `body`

Метод MailApp.sendEmail() принимает три основных параметра:

to: Адрес электронной почты получателя.

subject: Тема письма.

body: Текст письма.

Пример кода для отправки простого письма

/**
 * Функция отправляет простое текстовое письмо.
 */
function sendSimpleEmail(): void {
  const recipient: string = 'recipient@example.com';
  const subject: string = 'Простое письмо от Google Apps Script';
  const body: string = 'Это текст простого письма, отправленного с помощью Google Apps Script.';

  MailApp.sendEmail(recipient, subject, body);

  Logger.log('Письмо успешно отправлено!');
}

Расширенные возможности: отправка HTML-писем

Преимущества HTML-форматирования писем

HTML-форматирование позволяет создавать более привлекательные и профессиональные письма. Вы можете использовать HTML-теги для добавления форматирования текста, изображений, ссылок и других элементов.

Использование параметра `htmlBody` в `MailApp.sendEmail()`

Для отправки HTML-писем используется параметр htmlBody в методе MailApp.sendEmail(). Вместо параметра body используется htmlBody, содержащий HTML-код письма.

Пример кода для отправки HTML-письма с CSS стилями

/**
 * Функция отправляет HTML-письмо с CSS стилями.
 */
function sendHtmlEmail(): void {
  const recipient: string = 'recipient@example.com';
  const subject: string = 'HTML письмо от Google Apps Script';
  const htmlBody: string = `
    
      
        
          body { font-family: Arial, sans-serif; }
          h1 { color: #007bff; }
        
      
      
        

Привет!

Это HTML письмо, отправленное с помощью Google Apps Script.

Посетите наш сайт `; const options: object = { htmlBody: htmlBody }; MailApp.sendEmail(recipient, subject, htmlBody); Logger.log('HTML письмо успешно отправлено!'); }
Реклама

Встраивание изображений в HTML-письмо

Для встраивания изображений в HTML-письмо, необходимо использовать CID (Content-ID). Сначала загрузите изображение на Google Drive, получите его ID, затем используйте этот ID для создания blob-объекта и вложите его в письмо. В HTML-коде письма используйте ссылку на изображение с cid:имя_изображения.

Дополнительные настройки и параметры отправки

Отправка писем от имени другого пользователя (требует авторизации)

Google Apps Script позволяет отправлять письма от имени другого пользователя, но это требует авторизации и соответствующих разрешений. Этот функционал доступен через метод GmailApp.sendEmail(). Важно помнить, что использование этого метода может потребовать дополнительных настроек безопасности и подтверждений.

Добавление получателей в копию (CC) и скрытую копию (BCC)

Для добавления получателей в копию (CC) и скрытую копию (BCC) используются параметры cc и bcc в методе MailApp.sendEmail(). Эти параметры принимают строку с адресами электронной почты, разделенными запятыми.

Использование расширенных параметров (`options`) для управления отправкой

Метод MailApp.sendEmail() также принимает объект options, который позволяет управлять различными параметрами отправки, такими как:

name: Имя отправителя.

replyTo: Адрес для ответа.

noReply: Указывает, что на письмо не нужно отвечать.

Обработка ошибок при отправке писем

При отправке писем могут возникать ошибки, например, из-за неправильного адреса получателя или проблем с подключением к сети. Рекомендуется использовать блоки try...catch для обработки возможных исключений.

/**
 * Функция отправляет письмо с обработкой ошибок.
 */
function sendEmailWithErrorHandler(): void {
  try {
    const recipient: string = 'invalid-email';
    const subject: string = 'Тест обработки ошибок';
    const body: string = 'Это письмо для проверки обработки ошибок.';

    MailApp.sendEmail(recipient, subject, body);
    Logger.log('Письмо успешно отправлено!');
  } catch (e) {
    Logger.log('Произошла ошибка при отправке письма: ' + e);
  }
}

Отправка писем с вложениями

Добавление файлов из Google Drive в качестве вложений

Google Apps Script позволяет добавлять файлы из Google Drive в качестве вложений к электронным письмам.

Использование параметра `attachments` в `MailApp.sendEmail()`

Для добавления вложений используется параметр attachments в методе MailApp.sendEmail(). Этот параметр принимает массив объектов Blob, представляющих собой файлы для вложения.

Пример кода для отправки письма с PDF-файлом в качестве вложения

/**
 * Функция отправляет письмо с PDF-файлом в качестве вложения.
 */
function sendEmailWithAttachment(): void {
  const recipient: string = 'recipient@example.com';
  const subject: string = 'Письмо с вложением от Google Apps Script';
  const body: string = 'Это письмо с PDF-файлом в качестве вложения.';
  const fileId: string = 'YOUR_FILE_ID'; // Замените на реальный ID файла

  const file: GoogleAppsScript.Drive.File = DriveApp.getFileById(fileId);
  const attachment: GoogleAppsScript.Base.Blob = file.getBlob();

  const options: object = {
    attachments: [attachment]
  };

  MailApp.sendEmail(recipient, subject, body, options);

  Logger.log('Письмо с вложением успешно отправлено!');
}

Добавить комментарий