Google App Script で Gmail の掃除をする

久しぶりに 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 で制限に引っかかってしまう。気長にやるのがよさそう。
しばらく放置したのちに見るといらないメールがすべて消え去ってすっきり。

この記事はどうでしたか

前後の記事

Next:
Prev: