74
@kobaboy

Gmailの受信トレイ内のメールを自動削除するやり方

この記事は最終更新日から5年以上が経過しています。

はじめに

毎日大量のメールが送られてくる...
一度見たらもう見ないであろうメールが溜まる...

手動でゴミ箱に移動させるのがとても面倒で、
メールの中身すら開けたくない...
気づいたら未読メールが100件を超えている...

何か良い方法がないかと調べていたらありました。
以下にまとめます。

やり方

①Google Apps Scriptを作成
②実行する
③トリガーを用意して今後も自動的に実行されるようにする

実装

今回は、メールにラベルをつけ、
指定したラベルのスターが付いていない7日より前のメールを削除するやり方を紹介します。

1. 準備

1-1. メールにラベルをつける

ラベルを付けたいメールを開きます。
メールの右上にあるをクリックし、
メールの自動振り分け設定をクリックします。(下記画像参照)

mail1.jpg.png

次に、
この検索条件でフィルタを作成をクリックします。(下記画像参照)
mail2.jpg.png

以下の画像の画面が表示されます。
mail3.jpg.png
ラベルを付けるのチェックリストのラベルを選択をクリックします。
新しくラベルを作成したい場合は、
新しいラベルをクリックし、ラベルを作成して下さい。
既に作成してあるラベルを使用する場合は、そのラベルを選択して下さい。
フィルタを作成ボタンの右側にある○件の一致するスレッドにもフィルタを適用する。のチェックリストを選択し、
フィルタを作成ボタンをクリックします。

これで、ラベルを付けることができました!

2. Google Apps Scriptを作成

ここから自動削除させる設定を行っていきます。

2-1. Google Apps Scriptを新規作成

Googleドライブを開いてGoogle Apps Scriptを新規作成します。
Gooleドライブ
※Googleアカウントを複数持っている方は、設定したいメールのアカウントであるか確認して下さい

①Googleドライブの左側にある新規をクリック
Googleスプレッドシートをクリック
ツールをクリック
スクリプト エディタをクリック
以下の画面が表示されます。
mail4.jpg.png
空のプロジェクトをクリック
以下の画面のコード.gsにJavascriptで"指定したラベルを自動削除させる"コードを書いていきます。

mail5.jpg.png

2-2. コード

コード.gs
function myFunction() {
  //7日より前のスターが付いていない大学連絡というラベルを削除する
  var delayDays = 7;
  var deleteLabel = "大学連絡";
  var deleteThreads = GmailApp.search('older_than:'+delayDays+'d -is:starred label:'+ deleteLabel);

  for (var i = 0; i < deleteThreads.length; i++) {
    deleteThreads[i].moveToTrash();
  }

}

moveToTrash()でメールをゴミ箱に移動させる。
・gmail内の検索にolder_than:7d -is:starred label:大学連絡を入力すると、
 "7日より前のスターが付いていない大学連絡というラベルがついたメール" がフィルタリングされて表示されます。

スター付きのメールを取り出したい場合は、-is:starredis:starredに変更して下さい。
既読のメールを表示させたい場合は、is:readを追加して下さい。

このように自分の好きなように組み合わせてフィルタをかけることが出来ます。

3. 実行

実行させるときは下記の画像を参考にして下さい。

image

適当なプロジェクト名をつけて保存してから実行をクリックすると処理が行われ、コード通りにメールがゴミ箱に移動されます。
途中、下記の画面が表示された場合、
mail8.jpg.png
続行をクリック

mail9.jpg.png
承認するをクリック

以上で、メールを削除する(ゴミ箱に移動させる)ことができました!

4. トリガーを用意して今後も自動的に実行されるように設定

最後に、
今後も自動的にメールを削除させるためにトリガーを設定します。
現在のプロジェクトのトリガー(実行ボタンの左にあるタイマーのようなアイコン)をクリックして下記の画面を表示させます。

image

保存したら、完成です!

おわりに

ゴミ箱に移動されたメールは30日後に自動削除されます。
そのため、今回削除したメールをもう一度見たい場合は、
削除後30日以内であればゴミ箱に残っています。
ちなみに、
このゴミ箱内の自動削除される日にちも今回のように変更させることができます。

参考サイト

・Gmailの受信トレイ、特定のラベル内のメールを条件を絞って自動削除する方法
URL:http://millkeyweb.com/gmail-label-trash/
・Gmailのゴミ箱の自動削除される期間を事実上変更する方法
URL:http://millkeyweb.com/gmail-edit-trash/
・時間が経過すると自動的にメールを削除するGmailフィルターをつくる
URL:http://lifehacking.jp/2013/02/time-based-gmail-filter/

74
ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
kobaboy
自己満足ですが誰かの役に立てたら幸いです 少年のような心を忘れずに
fignny
「リアル」と「バーチャル」の境界を意識しない世界をつくります

コメント

Gmailのフィルタの設定にある「受信トレイをスキップ」「既読にする」も活用すると、捗りますね。
フィルタにかかったメールを受信しても受信トレイの文字が強調されたり、新着件数が増えないのでストレスになりません。

1

yama-tさん
ぉお!確かにこれらも合わせて活用すれば捗りますね!
ありがとうございます!!

0
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
記事投稿イベント開催中
3000文字Tips - 知ると便利なTipsをみんなへ届けよう
~
Microsoft Buildで発表された技術情報に関する記事を投稿しよう!
~