我正在尝试制作一个脚本,该脚本可以立即并永久地自动删除来自特定发件人的电子邮件,因为 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 的回答已经指出了对我有用的解决方案,但由于缺乏经验/不是专业开发人员,我花了一些功夫才将其转化为原始问题的有效解决方案。以下是我用于执行此任务的步骤的简要说明:
在我的脚本中创建以下函数:
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()); } }
要为此脚本启用高级服务,请找到
Resources
在菜单上,然后选择Advanced Google services...
启用
Gmail API
在名单上。选择之前
OK
, 点击Google Developers Console
关联。搜索gmail
,并在那里启用该服务。完成,选择
OK
;该功能现在应该可以工作了。 (注:在the link @karan provided中提到,用户ID可以用"me"
,或者提供自己的Gmail地址:"<address>@gmail.com"
。)
(为我的脚本启用高级服务的步骤基于 Google 指南 here。)
关于javascript - Google Apps 脚本 - Gmail,永久删除垃圾桶中带有特定标签的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15995031/