我使用点功能(m.yemail@gmail.com而不是myemail@gmail.com)为可疑网站发送电子邮件,以便我可以轻松地从我的地址中发现垃圾邮件。
我做了这个功能并将其设置为每30分钟触发一次以自动过滤这些功能。
function moveSpamByAddress(){
var addresses = ["m.yemail@gmail.com"]
var threads = GmailApp.getInboxThreads();
for (var i = 0; i < threads.length; i++){
var messages = threads[i].getMessages();
for (var ii = 0; ii<messages.length; ii++){
for (var iii = 0; iii<addresses.length; iii++){
if (messages[ii].getTo().indexOf(addresses[iii]) > -1){
threads[i].moveToSpam()
}
}
}
}
}
这很有效,但我注意到这比我预期的要慢(但我的期望可能是不合理的)因为我的收件箱只包含50条消息,而我目前只过滤一个地址。有没有办法提高执行速度?
对于经常运行脚本还有任何处罚吗?我看到我可以选择每分钟触发一个脚本,这会增加在我看到之前过滤消息的可能性,但是它也会无意义地运行脚本多次。
答案 0 :(得分:2)
您可以使用原生gmail过滤器和应用脚本执行此操作
脚本时间配额从1到6小时不等,具体取决于帐户类型
要提高性能,首先检查getInboxUnreadCount,如果为零,则立即返回
如果使用1分钟触发器,请确保使用锁定以避免一个计时器启动而另一个计时器运行。如果锁在使用中,只需返回。
首先,制作一个gmail过滤器,以便&#34;到&#34;匹配您的特殊地址,应用特殊标签,如&#34; mySpam&#34;
其次,使用上面的建议创建一个应用程序脚本,再加上你的代码不再需要搜索这么多,现在你只需要找到带有该标签的电子邮件(单个api调用)和.moveToSpam
如果脚本经常运行,标签中的任何时候都不应该有这么多。