首页 > 解决方案 > 收到电子邮件时触发的 Google gmail 脚本

问题描述

我一直在阅读gmail 插件。它们具有在您打开电子邮件时触发的上下文触发器。

当我收到电子邮件时,是否可以触发服务?我能找到的最好的是unconditional,但这仅在打开电子邮件时触发。

标签: google-apps-scriptgmailgmail-addons

解决方案


您无法为每封电子邮件创建触发器,但是您可以执行与此答案中所述类似的操作。

例如,您可以:

  1. 设置一个过滤器,在您要处理的传入电子邮件上放置一个特殊标签。

  2. 设置每 10 分钟甚至每分钟运行一次的重复脚本。在脚本中,您可以提取所有具有给定标签的电子邮件,并相应地处理它们,完成后删除标签。

function processEmails() {
  var label = GmailApp.getUserLabelByName("Need To Process");
  var threads = label.getThreads();  
  for (var i = threads.length - 1; i >= 0; i--) {
    //Process them in the order received
    threads[i].removeLabel(label).refresh();
  }
}

然后,您可以将其设置在基于时间的触发器上,使其尽可能频繁地运行。

如果您想跟踪您已处理的电子邮件,您可以创建另一个“已处理”标签,并在完成处理后将其添加到邮件中。


推荐阅读