Используйте триггеры для отправки электронных писем на основе времени, представленного пользователем - PullRequest
0 голосов
/ 02 мая 2019

У меня есть пользователи, подписывающиеся на почтовую службу с помощью форм Google, и они указывают, как часто они хотели бы получать электронную почту, значение записывается в ячейку (например, каждые 1 час, 2 часа ...).

Я хотел бы пройтись по каждому пользователю электронной почты и отправить сообщение в зависимости от времени, которое они выбрали.Есть ли способ сделать это с помощью триггеров?Вот что я получил до сих пор:

function sendMail(){  

  for (i=2;i<=lastEmailRow;i++){
    var currEmail = recipients.getRange(i, 2).getValue(); 
    var currentTrigger = recipients.getRange(i, 3).getValue(); //how often
    currentTrigger = currentTrigger.split(" ")[1];

    MailApp.sendEmail(currEmail, "myEmail@sample.com", "Your Daily Mail",
                      { htmlBody: HTML});
  }
}

1 Ответ

0 голосов
/ 03 мая 2019

Если ваш сценарий работает нормально (я не уверен, что lastEmailRow не определен в коде вопроса), вы должны принять некоторые дизайнерские решения, например, если вы будете использовать только одну функцию или вы будете использоватьнесколько функций, по одной для каждой частоты.

В зависимости от вышеупомянутого решения, вы можете

  • создать один управляемый по времени триггер, который запускается очень часто, скажем, каждый час

  • создать несколько управляемых по времени триггеров, каждый со своими настройками.

В любом случае вы должны указать некоторые условия для контроля того, кому отправлять электронное письмо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...