过滤器将某些电子邮件放入标签中然后我用
读它们var folder = "[Gmail]/MAJTableauLR";
var threads = GmailApp.getUserLabelByName(folder).getThreads();
并提取数据然后该线程被销毁。
for (n in threads) {
var message = threads[n].getMessages();
message[0].moveToTrash();
}
在同一脚本的后续执行期间,它包括放入回收站的消息,而如果我将它们放入回收站,最好将它们从该文件夹中排除。那么我怎样才能在这些邮件在30天内被永久删除之前将它们从垃圾箱中排除呢??
您有两个选择:
永久删除
与其将它们移到回收站,不如将它们永久删除。你是否需要启用Gmail API V1:
function main(){
const threads = GmailApp.getUserLabelByName('Custom').getThreads()
for(const th of threads){
th.getMessages().forEach(msg=>deletePermanently(msg.getId()))
}
}
function deletePermanently(msgId){
Gmail.Users.Messages.remove('me', msgId)
}
检查消息/线程已经在回收站
您有GmailMessage
和GmailThread
的方法来检查它是否已经被丢弃:isInTrash()
function main() {
const threads = GmailApp.getUserLabelByName('Custom').getThreads()
for (const th of threads) {
//Will jump to the next no in trash
if (th.isInTrash()) continue
for (const msg of th.getMessages()) {
// Same for msgs
if (msg.isInTrash()) continue
}
}
}