Gmailで不要なメールを定期的に削除する
Gmailで不要なメールを定期的に削除するスクリプトを書いてみた。
[仕様]
- 指定ラベルのメールのうち30日経過したものを削除
 - 毎晩0時に実行(トリガーを時間主導に設定)
 
[手順]
- ドライブ–>Googleスプレッドシート新規作成し開く–>ツール–>スクリプトエディタ
 - 既存のコードを削除して下記コピペ
 - リソース–>現在のプロジェクトのトリガー–>イベントを時間主導に設定
 
スクリプトの内容
function deleteMailExpired30Days() {
  var day = 30;
  var label= [
     '親ラベル-001.子ラベル ',
     '親ラベル-002.子ラベル ',
     '親ラベル-003.子ラベル '
  ];
  
  for (entry = 0; entry < label.length; entry++) {
      var threads = GmailApp.search('older_than:' + day + 'd ' + 'label:' + label[entry]);
      for (var i = 0; i < threads.length; i++) {
          threads[i].moveToTrash();
      }
  }
}
labelのリストを手書きしている点が少々ダサい…
親ラベル配下の子ラベルを取得する方法とか無いのかな。
スター付きのメールを除外したい場合は検索条件に”-is:starred”を追加する。
[参考]Gmailで使用できる検索演算子
https://support.google.com/mail/answer/7190?hl=ja
			
コメント