使用触发器根据用户提交的时间发送电子邮件

时间:2019-05-02 20:25:49

标签: google-apps-script

我有一些用户使用Google表格订阅邮件服务,他们指出了他们希望接收电子邮件的频率,该值记录在一个单元格中(例如:每1h,2h ...)。

我想遍历每个用户的电子邮件,并根据他们选择的时间发送一条消息。有没有办法用触发器做到这一点? 这是到目前为止我得到的:

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 :(得分:0)

如果您的脚本运行正常(我不确定问题代码上没有定义lastEmailRow),则必须做出一些设计决策,例如您将只使用一个函数还是使用多种功能,每个频率一个。

根据上述决定,您可以

  • 创建一个时间驱动的触发器,该触发器经常运行,比如说每小时运行一次

  • 创建多个时间驱动的触发器,每个触发器都有自己的设置。

无论如何,您应该包括一些条件来控制向谁发送电子邮件。