javascript - Google Apps 脚本 - Gmail,永久删除垃圾桶中带有特定标签的电子邮件

标签 javascript gmail google-apps-script

我正在尝试制作一个脚本,该脚本可以立即并永久地自动删除来自特定发件人的电子邮件,因为 Gmail 只允许将电子邮件发送到垃圾箱 30 天的过滤器。请不要暗示默认过滤器就足够了,就我的情况而言,重要的是我不知道我收到了来自该发件人的电子邮件。

我当前的脚本如下所示:

function deleteForever(labelName) {
    var threads = GmailApp.search("in:trash label:" + labelName);
    for (var i = 0; i < threads.length; i++) {
      threads[i].moveToTrash(); // Where I would need a delete forever trigger
    }
};

但是,我一直无法找到使用 GmailThread 并将其永久删除的方法,因为不存在用于此目的的函数。我想看看是否有一种方法可以使用 JavaScript 完成任务,但一直找不到方法。

有谁知道我如何设置这些电子邮件以在收到时永久删除它们自己?

最佳答案

@karan 的回答已经指出了对我有用的解决方案,但由于缺乏经验/不是专业开发人员,我花了一些功夫才将其转化为原始问题的有效解决方案。以下是我用于执行此任务的步骤的简要说明:

  1. 在我的脚本中创建以下函数:

    function deleteForever(userId, labelName) {
      var threads = GmailApp.search("in:trash label:" + labelName);
      for (var i = 0; i < threads.length; i++) {
        Gmail.Users.Messages.remove(userId, threads[i].getId());
      }
    }
    
  2. 要为此脚本启用高级服务,请找到 Resources在菜单上,然后选择 Advanced Google services...

  3. 启用Gmail API在名单上。

  4. 选择之前 OK , 点击 Google Developers Console关联。搜索 gmail ,并在那里启用该服务。

  5. 完成,选择 OK ;该功能现在应该可以工作了。 (注:在the link @karan provided中提到,用户ID可以用"me",或者提供自己的Gmail地址:"<address>@gmail.com"。)

(为我的脚本启用高级服务的步骤基于 Google 指南 here。)

关于javascript - Google Apps 脚本 - Gmail,永久删除垃圾桶中带有特定标签的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15995031/

相关文章:

javascript - HTML/CSS/JS : Rollover-Effect for navigation-menu

javascript - 如果在 CDN 调用上附加 "http"是否有性能差异?

php - 无法通过 php mail() 发送邮件

javascript - 在 Gmail 或 Facebook 等网站上使用 jQuery

google-apps-script - 从不同的单元格获取值并通过谷歌表格脚本设置

javascript - 如何在漏斗 Highcharts 中的顶部、左侧和底部添加文本

javascript - 抓取文本然后将该文本提交到特定路径

html - Gmail 中未显示 Base64 编码图像

html - 如何增加 HTML 应用程序窗口的大小?

javascript - 如何允许用户写入电子表格而不共享正在写入的文件