Друзья, недавно наша читательница попросила помочь с регулярной отправкой почты из Google Таблицы скриптом.
Задача звучала так — есть постоянно обновляемый (например, формулой QUERY) список адресов электронной почты. Нам нужно по расписанию вызывать скрипт и отправлять письма только на те адреса, на которые мы их еще не отправляли.
Про простые скрипты по отправке писем мы писали здесь, здесь и здесь. Отличие этого кейса только в том, что письма нужно отправлять на адреса, на которые мы еще ничего не отправляли.
Решение будет выглядеть очень просто (а ссылку на Таблицу с ним вы найдете под статьей):
1) заводим лист с логом отправленных писем (в примере — лист “лог”). На него наш скрипт будет записывать адреса, на которые он отправил письма во время своего запуска и, на всякий случай, время и дату отправки.
2) Список для отправки мы будем формировать функцией FILTER, она из списка всех адресов для отправки вычтет те адреса, письма на которые уже отправлены (то есть адреса из лога) и оставит те, на которые нам нужно отправить письма в следующий запуск скрипта.
=FILTER(A3:A;ISNA(MATCH(A3:A;’лог’!B3:B;0)))
В диапазоне A3:A - все адреса
В диапазоне C3:C - адреса для следующей отправки (туда попал весь список из A3:A, т.к. наш лог пуст)
F2-G2 - тема и текст для писем
3) Чтобы поставить скрипт на регулярное выполнение, допустим, раз в час - нужно создать триггер. Откройте в редакторе скриптов Правка > триггеры текущего проекта и создать там что-то подобное:
Скрипт можно посмотреть, сделав копию Таблицы (Файл > Создать копию) и открыв Инструменты > Редактор скриптов.