LoginSignup
2

More than 1 year has passed since last update.

gmailに溜まった大量のメールを消す

Posted at

gmailにあまりに大量のメールが溜まると、全選択してアーカイブや消去を行っても、さっぱり消えてくれません。
数十万通レベルにもなると、手で消していくのは現実的に無理です。
Google Apps Script (GAS)で気長に消しましょう。
以下の方法で、60万通を3日半で消すことができました。

GASを書く

Google Apps Script に行き、適当にプロジェクトを作成

以下のコードを書く

function main(){
  GmailApp.getInboxThreads(0, 480).forEach(
    thread => thread.moveToTrash()
  )
}

試しに手で「実行」してみる
実行に必要な権限付与を求められるので許可する
とりあえず480スレッド削除されることを確認する

トリガー作成

  • 実行する関数: main
  • イベントのソース: 時間主導型
  • 時間ベースのトリガーのタイプ: 分ベースのタイマー
  • 時間の間隔: 15分おき

メモ

  • GASの実行時間や、GASからのAPI呼び出しの回数は、一定レベルに制限されています。
    上で設定しているトリガーの時間間隔は、法人契約しているGoogle Workspace向けです。これ以上間隔をせばめると、制限にひっかかるリスクが高くなります。
  • 個人のGoogleアカウントで試す場合は、30分おき、またはそれ以上がよいかもしれません。
  • GmailApp.getInboxThreads() は一度には500スレッドまでしか取ってこれない制限があります。ここでは少し安全マージンをとって480スレッドずつ取ってくるようにしています。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2