Gmailの不要な(古い)メールを自動で削除する方法

プログラミング
※このページの内容に広告・PRが含まれます。

メールの中には営業メールや不要なメールも多々あり、それらにいちいち目を通したり、削除したりするのは時間のムダです。

また、GmailはGoogleドライブの容量を使用するので、不要なメールを放置していると、Googleドライブを使いたいときに使用できない、といったことになりかねません。

そこでこの記事では、不要なGmialを自動的に削除する3つの方法を紹介します。

1. の方法が圧倒的に設定が簡単です。削除したメールは「迷惑メール」フォルダに入るので、確認したいメールがあっても安心です(「迷惑メール」のメールは、30日後に自動で削除される)。

2. の方法は、複数の送信者から送られてくるメールを一括で自動削除する設定をしたい人向けです。なお、指定したメールは「ゴミ箱」フォルダに入ります(「ゴミ箱」のメールは、30日後に自動で削除される)。

3. の方法は、すでにメールの自動振り分け機能を使用している人や、プログラミングの練習をしたい人向けです。

なお、いずれの場合でもPCでの操作を想定しています。

やり方①:不要なメールを個別にブロックする方法

1. 届いたメールの右上の『︙』メニューから「〇〇さんをブロックする」を選択します。

2. 「ブロック」を選択します。これで完了です。

(補足)「ブロックする」と「迷惑メールを報告」の違い

どちらの方法でも、「迷惑メール」フォルダに自動で移動するようになりますが、以下のような違いもあります。

  • ブロック:指定したメールアドレスのみに対して有効
  • 迷惑メールを報告:指定したアドレスに加え、類似のメールもブロックしてくれる(ただし、細かい設定はできない)

基本的には、必要なメールが予期せず「迷惑メール」に移動されないよう、「ブロック」を使用するのがおすすめです。

 

やり方②:不要なGmailを即座にゴミ箱に移動する方法

1. 右上の歯車マークをクリックし、出現した右のサイドバーの『すべての設定を表示』をクリックします。

2. 上部のメニューで『フィルタとブロック中のアドレス』を選択し、『新しいフィルタを作成』をクリックします。

3. 振り分けたいメールの条件を入力します。

多くの場合、メールアドレスで振り分けることになると思います。その場合、メールアドレスの「◯◯@△△」の△△の部分を『From』に入力すればOKです。

複数指定したい場合は、「OR」を使えば大丈夫です(半角スペースも必要です)。以下の画像では、GoogleとYouTubeから送られてくるメールを指定しています。

メールの指定ができたら、右下の『フィルタを作成』をクリックします。

4. 「削除する」にチェックを入れて、『フィルタを作成』をクリックします。

すでに届いているメールも含めて削除したい場合は、「◯件の一致するスレッドにもフィルタを適用する。」にチェックを入れます。

これで完了です。

 

やり方③:一定期間より昔のGmailを自動的にゴミ箱に移動する方法

仕組みとしては以下になります。

すでに自動振り分けの設定をしている人は、2. の「Google Apps Scriptで不要なメールを「ゴミ箱」に移動する」に飛んでください。

なお、ここで紹介するやり方は、自分で★を付けておいたメールは自動削除されません。なので、保存したいメールには★をつけておきましょう。

Gmailの自動振り分け設定のやり方

最初の方の不要なメールを振り分けるところは、やり方②と同じです。やり方②の3. までは同じなので、4. 以降のやり方を紹介します。

4. 「ラベルを付ける」にチェックを入れて、「ラベルを選択」をクリックします。

メニューの中で、『新しいラベル』、もしくはすでに作成しているラベルを選択します。

5. 「新しいラベル」を選択した場合は、ラベル名を入力します。

  • ラベル名に「&」が入っていると、Gmailの自動削除プログラムが正常に動きません。
    ラベル名にはあまり記号を使わないようにしましょう。
  • 余談ですが、ラベル名に『01.』『02.』などの数字を付けておくと、ラベルの並び替えができます。

6. 「受信トレイをスキップ(アーカイブする)」と「◯件の一致するスレッドにもフィルタを適用する。」にもチェックを入れて『フィルタを作成』をクリックします。

「◯件の一致するスレッドにもフィルタを適用する。」にチェックを入れておくと、過去に届いているメールも自動振り分けの対象になります。

7. ラベルが追加され、自動振り分けが完了です。

この設定をしてからは、自動で指定したメールがラベルに振り分けられます。

Google Apps Scriptで不要なメールを「ゴミ箱」に移動

Googleスプレッドシートには、Excelのマクロのような機能がついており、それを利用します。

手順としては以下の2ステップです。

コードの追加

1. 新しくスプレッドシートを追加します。

2. スクリプトエディタの起動します。

「拡張機能」 -> 「Apps Script」を選択します。

3. 定期的に不要なメールを削除するためのコードを追加し、『Ctrl + S(Windows)』『command + S(Mac)』で保存します。

コードは以下です。コピペできます。

function expire7days() {
  // 削除対象の期間
  var day = 7;

  // 削除対象のラベル名
  var array = ["01.テスト"];
  
  //ラベルを指定して削除したい場合は下記を使用
  for (var i = 0; i < array.length;i++) {
    var deleteLabel = array[i];
    console.log(deleteLabel);
    var threads = GmailApp.search('older_than:' + day + 'd -is:starred label:'+ deleteLabel);
    for (var j = 0; j < threads.length; j++) {
      threads[j].moveToTrash();
      Utilities.sleep(500);
    }
  }
}
  • var day = 7; の数字を変えることで、メールが届いてからの期間(日数)を指定できます。
  • var array = [“01. テスト”]; と書いているところに、削除したいメールを振り分けているラベル名を記載します。複数のラベルを指定したい場合は、var array = [“01. テスト1”, “02. テスト2”, “03. テスト3”,…]; のように、,(コンマ)で区切ればOKです。

トリガーの設定

最後に、自動で不要なメールが削除されるようにトリガーを設定します。ここでは毎日1回実行されるように設定しています。

1. 左のメニューの目覚ましのようなマークをクリックし、右下の『+ トリガーを追加』をクリックします。

2. 「実行する関数」と「実行されるタイミング」を指定して『保存』をクリックします。

イベントのソースは「時間主導型」、時間ベースのトリガーのタイプを選択は「日付ベースのタイマー」、時刻は任意の時間を指定してください(午前0~7時の間ぐらいに設定しておくと、出社前にコードが実行されます)。

3. ポップアップがブロックされた場合は、アドレスバーの右にあるカレンダーのようなアイコン(Google Chromeの場合)をクリックして、表示されたURLをクリックして開きます。

4. 自分のGoogleアカウントをクリックします。

5. 以下のような表示が出ますが問題ありません。左下の『詳細』をクリックします。

これは、Google Apps Scriptのコードを実行するためには承認が必要なため表示されます。エラーやおかしなページに飛ばされるということはありません。

6. 左下の『無題のプロジェクト(安全ではないページ)に移動』をクリックします。

なお、『安全ではないページ』と記載がありますが、こちらも特に問題はありません。

7. 右下の『許可』をクリックします。

8. トリガーが追加されます。

これで、あとは自動的にコードが実行され、不要なメールが削除されます。

冒頭にも書きましたが、自分で★をつけたメールは自動削除されません。保存したいメールには★をつけておきましょう。

 

最後に|小さな時間の積み重ねが大きな意味を持つ

メールの自動削除で得られる時間は1日あたりでほんの数分~10数分ぐらいでしょう。

しかし、メールの確認は毎日やるという人がほとんど。積み重なっていくと意外と大きな時間となっていきます。

自動振り分けを使うことで不要なメールに目を通す必要がなくなるので、人によっては結構時間の節約になるかもしれません。

まずは小さなことからでも仕事を効率化していきましょう。

タイトルとURLをコピーしました