【问题标题】:gmail messages with same subject - delete all but most recent具有相同主题的 gmail 邮件 - 删除除最新邮件之外的所有邮件
【发布时间】:2015-02-20 18:40:39
【问题描述】:

我正在寻找一个脚本来处理具有相同主题的 Gmail 邮件,例如“来自 XYZ 的警报”,删除除最新的以外的所有内容。通常情况下,Gmail 会发送相同主题和发件人的电子邮件,但我收到的这些警报电子邮件不会那样工作。只要警报条件成立,我每天都会收到一封单独的电子邮件。因此,基本上,脚本需要查找具有特定主题和发件人的所有邮件,并删除除最新邮件之外的所有邮件。我确信这很容易做到,但我对 JavaScript 还是有点陌生​​。 如有任何指导,我将不胜感激。

【问题讨论】:

    标签: javascript email gmail


    【解决方案1】:

    这显然可以通过时间触发的谷歌应用脚​​本相对简单地完成。我一直在寻找相同类型的插件或功能,并为自己编写了一个解决方案:

    function removeAllButMostRecent() {
    
      var tagList = ["Kickstarter-Happening"];
    
      for ( var j = 0; j < tagList.length; j++ ) {
    
        var label = GmailApp.getUserLabelByName( tagList[j] );
    
        if ( label != null ) {
          var threads = label.getThreads();
    
          for ( var i = 1; i < threads.length; i++ ) { // skip most recent one
              threads[i].moveToTrash();
          } // for
        } // if
      } // for
    } // function
    

    【讨论】:

    • 迈克,感谢您的回复。我可以遵循您的大部分代码,但我不熟悉“tagList”变量(第 2-4 行)。是邮件主题吗?如果不是,我将如何修改您的代码,使其专门查找主题为“来自 XYZ 的警报”的消息?很抱歉成为这样的“菜鸟”。
    • 因此,您可以根据标准 gmail 过滤器操作自动标记内容,其标准可以是主题行或大多数其他内容。然后上面的脚本示例对标记项目的子集进行操作。
    猜你喜欢
    • 2017-08-31
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多