ぴぴんのプリンはどこに溶けた?

ADHD傾向があるぴぴんの生活系ブログ

賞味期限切れのメールを自動で削除する Google Apps Script

ごきげんよう、ぴぴんです。

gmailで賞味期限切れメールを自動的に削除する方法について記載します。
以前の記事で、別途記載すると予告していたものです。

事前準備

前回の記事のように、メールの保管期限を示すラベルを作成します。
pppng.hateblo.jp

自動削除プログラムの作成

スクリプトの作成環境を開く

「G Suite Developper Hub」というGoogle Apps Scriptが記載できるページがあるので、それを開きます。
Apps Script – Google Apps Script
開いたら、「新規スクリプト」ボタンを押すなどして、スクリプト作成画面が開きます。

スクリプトの内容を記載

スクリプト記載画面にスクリプトの内容を記載します。
例えば、私は以下のように書きました。
1ヶ月の保管期限を示すラベルが貼られていて、1ヶ月以上古いメールのスレッドを検索して
それら1件ずつ、削除する処理です。
また同様の処理を3ヶ月の保管期限のラベルについても記載しました。

function delete1m() {
  var mail_threads = GmailApp.search('in:"retention period/01_1month" older_than:1m');
  
  mail_threads.forEach( function(mail_thread){
    Logger.log("Subject:" + mail_thread.getFirstMessageSubject())
    mail_thread.moveToTrash();
  });
}

function delete3m() {
  var mail_threads = GmailApp.search('in:"retention period/02_3months" older_than:3m');
  
  mail_threads.forEach( function(mail_thread){
    Logger.log("Subject:" + mail_thread.getFirstMessageSubject())
    mail_thread.moveToTrash();
  });
}

スクリプトを書いたら、保存します。
保存時に、プロジェクト名を設定します。
「保管期限切れメール削除」にしてみました

動作確認

画面に表示されている実行ボタン(三角形)を押すと指定した処理が動作します。
初めて実行する際は、このスクリプトの実行を承認する設定などでてきます。自分で作ったものなので、特に気にすることなくOKです。

自動削除プログラムを定期実行する設定

時計のようなボタンを押すと、作成した処理のトリガーを設定する画面に遷移します。
例えば、私は、保管期限1ヶ月の自動削除を
週1で実行する設定にしました。
保管期限3ヶ月の自動削除は月1で実行する設定にしました。

後記

はじめて、GAS(Google Apps Script)を触ってみましたが、なんかいろいろできそうで面白そうですね。