久しぶりに Google App Script を見たらものすごいアップデートされているような気がする。
こんな管理画面的なものあったっけ…。。 自分のプロジェクト - Apps Script
本題 GitHub からくる通知メールや、各種メルマガ、その他さまざまな通知系のメールが Gmail の受信箱の大半を圧迫しており、まともに見れなくなってしまった。 フィルタを設定したものの、すでに受信したメールを一括削除することが、どうにも Gmail 上からはうまく動いていないっぽい。
というわけで Google App Script を使って不要なメールをドカッと削除する。
こんな感じのお手軽な関数で十分。
function myFunction() {
var query = 'label:xxx subject:yyy'; // ここに任意の検索クエリを書く
while(true) {
var threads = GmailApp.search(query, 0, 500);
if (threads.length <= 0) {
return
}
for (var i = 0; i < 5; i++) {
GmailApp.moveThreadsToTrash(threads.slice(i*100, i*100 + 100));
}
}
}
API ドキュメントはここ。 Class GmailApp | Apps Script | Google Developers
初回だけ手動で実行し Gmail に関する権限を取得する必要がある。
あとは自動トリガーに設定 2 時間に 1 回実行くらいで。もっと早い頻度で動かすこともできるのだが、早すぎると Gmail の API で制限に引っかかってしまう。気長にやるのがよさそう。 しばらく放置したのちに見るといらないメールがすべて消え去ってすっきり。