Gmaiの古いメールを自動で削除する

 

1.

Google Apps Script のページを開く。

https://script.google.com/

もしログインしてなければ「Start Scripting」のボタンを押してログインします。

2.

左上の「新しいプロジェクト」のボタンを押します。


3.

上の「無題のプロジェクト」をクリックしてプロジェクトの名前を変更します。



下記のスクリプト入力欄(赤い四角の所)に、このスクリプトを貼り付けます。


入力するスクリプト

function deleteOldGmails()
{
    // 5年以上前のスターの無い既読メールを削除
    var deleteThreads = GmailApp.search('older_than:5y -is:starred is:read');
    var len = deleteThreads.length;
    Logger.log('該当スレッド: ' + len  + '件');
    if (len > 500)
      len = 500;
    for (var i = 0i < leni++)
    {
        deleteThreads[i].moveToTrash();
    }
    Logger.log('終了');
}

上記スクリプトは、5年以上前に受信したスターのない既読メールを、1回で1000件まで削除するスクリプトです。

一度に多くのメールを削除しようとすると、スクリプトの実行がタイムアウトすることがあります。

現状では検索で帰ってくる結果が500件までなので500件しか一度に削除できてません。

すべてのメールを削除対象とせずに、特定のラベルのみ対象にする場合は、GmailApp.search('')で記述します。

書き方はGmailで検索する条件と一緒です。

4.

スクリプトを貼り付けたら、保存ボタンを押してから実行ボタンを押します。

保存ボタン


実行ボタン



5.


アクセスの承認を求めてくるので「権限を確認」ボタンを押します。


「アカウントを選択してください」と表示されたら、自分のアカウントを選択。


Googleで確認されていないと出てきますので、詳細を表示させて実行するプロジェクトに移動します。

スクリプトのアクセスを許可します。



6.

スクリプトの実行が始まります。数分で終わります。

7.

実行結果は、「表示」→「ログ」で見れます。

8.

自動実行するために、トリガーを設定します。トリガーボタンを押します。




9.

右下の「トリガーを追加」ボタンを押します。

10.

イベントのソースを選択: 時間主導型

時間ベースのトリガーのタイプを選択: 日付ベースのタイマー

時間の感覚を選択(時間): 午前0時~1時

のように設定して、「保存」をクリック。



これで、一日に一回 Gmail の削除が動作するはずです。





コメント

このブログの人気の投稿

放送から通信へ - 新たなコミュニケーションの時代

史記(扁鵲扁)

量子力学の始まり