まだ無駄が多い感じがしますが、現在はこんな感じで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 コメント:
コメントを投稿