【问题标题】:Looking for a google apps script that permanently deletes from gmail trash寻找从 gmail 垃圾箱中永久删除的 google 应用程序脚本
【发布时间】:2020-01-23 16:17:35
【问题描述】:

用户收到来自特定发件人的大量不需要的电子邮件。 阻止将电子邮件移至垃圾邮件,而过滤将电子邮件移至垃圾箱。如果检查了这些文件夹,这两者仍然会向用户展示电子邮件。

我正在寻找的是一个脚本,该脚本将在收到电子邮件时或定期从指定的电子邮件地址中永久删除电子邮件。

我对 google 脚本或 js 几乎不熟悉,我对代码的了解最多的是一些基本的 vba。

研究此问题后,我将谷歌应用程序用作潜在的解决方案,因为 gmail 不提供任何自动永久删除电子邮件的方法。下面是我在谷歌上搜索到的一些代码,尽管由于我完全缺乏应用程序脚本知识,我无法深入了解它。

function DeleteEmailByLabel(e) {personsemail@gmail.com}
var bannedLabel = 'BLOCKEDSENDER';
var deleteLabel = GmailApp.getUserLabelByName(bannedLabel);
if ( deleteLabel != null ) {personsemail@gmail.com}
var threads = deleteLabel.getThreads();
for (var i = 0; i < threads.length; i++) {
Gmail.Users.Messages.remove('me', threads[i].getId());
}
} else {
deleteLabel = GmailApp.createLabel(bannedLabel);
}
}

我希望上面的代码能够运行并从我的测试帐户的垃圾文件夹中删除电子邮件。但是,我得到了这个错误。这看起来像基本语法的东西,但我在这里不合群。

缺少;声明之前。 (第 1 行,文件“文件名”)

提前致谢。

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    在您可以在 Apps 脚本中使用它之前,请注意执行以下操作:

    1. 在用户的 Gmail 帐户中创建一个过滤器,以便为此类电子邮件分配一个特定且唯一的标签(您可以“将它们标记为已读”或“将它们发送到垃圾邮件”;没关系)
    2. 此功能使用一些高级 Gmail API,因此需要您先从脚本编辑器启用它们,运行脚本之前。为此,请访问:

    资源 > 高级 Google 服务... > 一直向下滚动到 Gmail API > 将 关闭 按钮切换到

    function deleteEmails() {
      var bannedLabel = 'BLOCKEDSENDER' // replace with the label name, as setup in filters
      var deleteLabel = GmailApp.getUserLabelByName(bannedLabel);  
      if ( deleteLabel != null ) {
        var threads = deleteLabel.getThreads();  
        for (var i=0; i<threads.length; i++) {
          Gmail.Users.Threads.remove('me', threads[i].getId());
        }    
      } else {
        // do something
      }
    }
    

    【讨论】:

    • @Dave Powell - 尝试实现此功能时运气好吗?
    猜你喜欢
    • 2013-04-06
    • 2014-04-14
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    相关资源
    最近更新 更多