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スレッドずつ取ってくるようにしています。