我在 Google Script 中創建了以下演算法,該演算法從所有檔案夾中洗掉來自特定地址的所有郵件:
function deleteForever() {
var labelName
labelName="some_mail_address"
var threads = GmailApp.search("in: all from:" labelName);
for (var i = 0; i < threads.length; i ) {
Gmail.Users.Messages.remove("me", threads[i].getId());
}
}
這可以安全地用于我的 gmail 帳戶嗎?(使用觸發器使其每分鐘運行一次)
特別是,我想知道一個執行緒是否可以包含多封郵件,以及這是否會導致洗掉不是來自不需要的發件人的郵件。
另外,我在某些網頁上看到了“in:anywhere”。這與“in: all”有什么不同?
uj5u.com熱心網友回復:
簡短的回答:沒有。
這不是“安全的”,因為:
執行緒 id 與第一條執行緒訊息的 id 相同,但第一條訊息可能來自其他發件人。
該訊息將被永久洗掉
每分鐘運行一個腳本可能會消耗每日配額,因此您可能首先會收到錯誤訊息,最近觸發器可能會由于有太多錯誤而被禁用。
in:anywhere不一樣in:all。第一個將回傳標記為垃圾郵件和垃圾的執行緒,但后者不會。
- 而是使用執行緒 ID,遍歷執行緒訊息以檢查發件人,如果匹配則“洗掉”訊息
- 而不是使用“洗掉”使用“垃圾”
- 如果您使用“trash”而不是“remove”,請不要使用“in:anywhere”,否則相同的郵件將被處理一遍,直到它被永久洗掉。
- 如果您計劃使用其他時間驅動的觸發器,則不要使用計劃每分鐘運行一次的觸發器,而是每十分鐘運行一次或使用較低的頻率。
有關的
- 相同的執行緒 id 不會回傳相同的訊息
- 在不關閉執行緒的情況下取消執行緒或永久洗掉個別 gmail 郵件
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/432785.html
下一篇:如何僅將日期與日、月和年進行比較
