まだ無駄が多い感じがしますが、現在はこんな感じで30日以上前に受信した「update」カテゴリに入っているメールをどんどんゴミ箱へ移動させています。
var maxDate = new Date(); maxDate = maxDate.setTime(maxDate.getTime() - (30 * 24 * 60 * 60 * 1000)); var maxDateFormat = new Date(maxDate); var mDate = maxDateFormat.getMonth() + 1; if(mDate < 10){mDate = "0" + mDate}; var dDate = maxDateFormat.getDate(); if(dDate < 10){dDate = "0" + dDate}; var maxDateText = maxDateFormat.getFullYear() + '/' + mDate + '/' + dDate; var threads = GmailApp.search('category:updates before:' + maxDateText); for (var i = 0; i < threads.length; i++) { threads[i].moveToTrash(); Utilities.sleep(1000); }
あとは定期的にScriptが動いてくれればOK。
sleepは入れなくても構わないと思いますが、以前頻繁に削除を走らせていた時に、「やり過ぎ」的なエラーメッセージが飛んできたからだったと思います(笑
まぁGmailなので削除する必要性も無いといえば無いのですが、気になる方は定期的に削除をしても良いと思います。
「GmailApp.search」の中にメール検索条件を入れているわけですが、例えば「label:read」を入れて既読メールだけを削除したり「has:attachment」を指定して、添付ファイルの付いているメールだけを削除しても良いですね。
0 コメント:
コメントを投稿