Як створювати розсилки за допомогою Google Таблиць
Як це працює: бот збирає нові адреси та вставляє їх одну за одною в перший стовпець (A3:A на аркуші "Sending"). Google-скрипт запускається за вказаним часом або при зміні таблиці (залежно від налаштувань тригера), створює розсилку з новими адресами та переміщує їх на аркуш "Log" з позначкою часу.
function SendMail() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheetByName("Sending")
var email = sheet.getRange("a3:a").getValues()
var subj = sheet.getRange("c2").getValue()
var body = sheet.getRange("d2").getValue()
var arr = []
MailApp.sendEmail(email, subj, body)
arr = [[new Date(), email]]
//write sent addresses into Log
ss.getSheetByName("Log").getRange(ss.getSheetByName("Log").getLastRow()+1, 1, 1, 2).setValues(arr)
//clear the Sending sheet
sheet.getRange("a3:a").clearContent()
}
Налаштування складається з 4 частин: налаштування таблиці, активація скрипта, налаштування чат-бота та налаштування тригера
Як налаштувати таблицю
Створіть копію таблиці з кодом: Файл -> Створити копію

Зверніть увагу на повідомлення про те, що скрипти також будуть скопійовані — переконайтеся, що це так, при копіюванні таблиці. Натисніть "Створити копію".

На аркуші "Sending" ви змінюєте лише стовпці B2 та C2:

Тепер потрібно перевірити доступ до вашої таблиці: вона має бути доступною для редагування всім, хто має посилання, як на скріншоті нижче.

Як активувати скрипт
У вашій таблиці: Розширення -> Apps Script

Виберіть "SendMail"

Натисніть "Запустити"
Натисніть "Переглянути дозволи"

Виберіть обліковий запис, з якого ви хочете надсилати розсилку.

Натисніть "Додатково"

Натисніть "Перейти до (назва скрипта) (небезпечно)"

Натисніть "Дозволити"

Тепер потрібно переконатися, що скрипт активовано, перевіривши наявність сповіщення про безпеку електронною поштою у вашому обліковому записі

Як налаштувати чат-бота
Візьмемо для прикладу наступну схему, що складається з трьох блоків

1) Перший зелений блок "Перевірка первинної умови" запускає діалог з ботом. Тут ми вводимо фразу, яка запустить його в умовах. Щоб налаштування збереглися в блоках, не забудьте натиснути "Зберегти" після додавання.

2) Тепер створіть блок нижче та налаштуйте з'єднання. Перемкніть вкладку "Користувач вводить дані" та вставте назву змінної (client_mail, як у прикладі). Потім вставте регулярний вираз в умову для перевірки електронної пошти. На цьому етапі важливо перевірити точність введених даних, інакше скрипт буде сильно зависати. Ви можете використовувати один із наступних виразів:
^[a-z0-9][a-z0-9_.-]@([a-z0-9]+.)[a-z0-9][a-z0-9-]+.([a-z]{2,6})$
^[-\w.]+@([A-z0-9][-A-z0-9]+.)+[A-z]{2,4}$

Більше про регулярні вирази тут
3) Наступний блок — той, що передає дані в таблицю. Налаштуйте все, як на скріншоті (опис полів нижче)

-
Виберіть тип запиту POST-json.
-
Вставте URL функції у вкладку "URL запиту".
-
Вставте наступний рядок у вкладку "JSON параметри"
&#xNAN;{"id": "(ваш id параметр)", "mapping":{"a":"#{client_mail}"}, "list_name": "Sending"}
Вставте ваш id параметр з посилання на вашу таблицю. Ви можете знайти його в посиланні на неї, після d/

Як налаштувати тригер
Перед створенням тригера перевірте, що бот записує дані в таблицю і що функція працює правильно.

Якщо все пройшло гладко, відкрийте Розширення -> Apps Script -> SendMail, а потім Тригери в меню зліва.

Створіть новий тригер за допомогою кнопки в нижньому правому куті екрана

Налаштуйте його, як на скріншоті. Якщо ви налаштовуєте його за часом, майте на увазі, що часовий проміжок має бути не менше 30 хвилин. Ви можете вибрати власні значення, але пам'ятайте про певні квоти. Потім натисніть "Зберегти".

Тепер у списку є тригер. Налаштування завершено!

Інші корисні посилання:
Ліміти надсилання Gmail у Google Workspace