【Gmail整理術】大切なメール(★)だけ残して、古い通知は自動でポイ!


Gmailを長く使っていると、メルマガや通知メールが溜まりに溜まって「保存容量が少なくなっています」という警告が出ること、ありませんか?

毎回手動で検索して削除するのは非常に面倒です。そこで今回は、「3ヶ月以上前のメールを自動でゴミ箱に移動する(ただしスター付きの大事なメールは残す)」という、一度設定すれば完全放置できる便利な自動化テクニックをご紹介します。

難しい知識は一切不要です。この記事の通りに「コピー&ペースト」するだけで、誰でも5分で設定できますよ!


用意するもの:Google Apps Script(GAS)

今回は、Googleが無料で提供している「Google Apps Script(通称:GAS)」というツールを使います。難しそうに聞こえますが、簡単なので安心してください。


ステップ1:プログラムをコピペする

まずは、自動削除の指令を書く画面を開きます。

  1. パソコンのブラウザで Google Apps Script にアクセスします(Gmailと同じアカウントでログインしてください)。
  2. 左上の 「新しいプロジェクト」 をクリックします。
  3. 最初から入力されている文字(function myFunction() { ... })をすべて消します。
  4. 代わりに、以下のコードをそのままコピーして貼り付けます。

function Gmail_cleanUp() {
  // 3ヶ月以上前、かつスターがついていないメールを検索
  var searchTerm = 'older_than:3m -is:starred';
  
  // 検索条件に合うメールを取得
  var threads = GmailApp.search(searchTerm);
  
  // 取得したメールをすべてゴミ箱へ移動
  for (var i = 0; i < threads.length; i++) {
    threads[i].moveToTrash();
  }
}
  1. 画面左上の「無題のプロジェクト」をクリックし、「Gmail自動クリーンアップ」など分かりやすい名前に変更します。
  2. 画面上部にある 「フロッピーディスクのアイコン(プロジェクトを保存)」 をクリックします。

ステップ2:最初の1回だけ「許可」を出す(※重要)

自分が作ったプログラムを動かすために、Googleに「自分のGmailを操作していいよ」という許可を出します。初めての時は少し怖い画面が出ますが、落ち着いて進めましょう。

  1. 画面上部の 「▷ 実行」 ボタンをクリックします。
  2. 「承認が必要です」というポップアップが出たら 「権限を確認」 をクリックします。
  3. 自分のGoogleアカウントを選択します。
  4. 「このアプリは Google で確認されていません」 という警告画面が出ます。(※自分が作ったプログラムなので表示されるだけです。安心してください)
  5. 左下の 「詳細」 をクリックし、一番下に出てくる 「Gmail自動クリーンアップ(安全ではないページ)に移動」 をクリックします。
  6. 次の画面で右下の 「許可」 をクリックします。

これで下準備は完了です!


ステップ3:毎日自動で動くようにタイマーをセットする


最後に、このプログラムが「毎日勝手に」動くようにタイマー(トリガー)をセットします。

  1. 画面左側のメニューから、「時計のアイコン(トリガー)」 をクリックします。
  2. 右下の 「+ トリガーを追加」 をクリックします。
  3. 設定画面が開くので、以下のように変更します。
    • 実行する関数を選択:Gmail_cleanUp
    • イベントのソースを選択:時間主導型
    • 時間ベースのトリガーのタイプを選択:日付ベースのタイマー
    • 時刻を選択:午前0時~午前1時 (邪魔にならない深夜がおすすめです)
  4. 右下の 「保存」 をクリックします。

お疲れ様でした!これで全ての設定が完了です。


まとめと注意点

設定が完了すると、毎日指定した時間に自動で古いメールがゴミ箱に移動していきます。

  • いきなり完全消去はされません
    メールは一旦「ゴミ箱」に入ります。Googleの仕様により、ゴミ箱に入ったメールは30日後に完全に削除されます。万が一必要なメールが消えても、30日以内なら救出できるので安心です。
  • 溜まりすぎている場合は数日かかります
    システムの仕様上、1回の自動実行で処理できるのは最大500件程度です。もし古いメールが何万件も溜まっている場合は、1日500件ずつ毎日少しずつゴミ箱へ移動し、徐々に綺麗になっていきます。

【応用】削除する期間を変更したい場合は?

今回のコードでは「3ヶ月前」に設定していますが、プログラムの中の英数字を1文字変えるだけで、好きな期間に変更できます。

ステップ1で貼り付けたコードの3行目にある、以下の部分に注目してください。

var searchTerm = 'older_than:3m -is:starred';

この 3m という部分が期間を表しています。「m」は「month(月)」のことです。
ここを以下のように書き換えるだけで、自分の好きな期間にカスタマイズできますよ!

  • 1ヶ月前のメールを消したい場合:older_than:1m に変更
  • 半年(6ヶ月)前のメールを消したい場合:older_than:6m に変更
  • 1年前のメールを消したい場合:older_than:1y に変更(「y」はyearの頭文字です)
  • 14日前のメールを消したい場合:older_than:14d に変更(「d」はdayの頭文字です)

ご自身のメールの溜まり具合に合わせて、ぜひお好みの期間で設定してみてくださいね!

コメント