広告
Gmailで不要なメールを定期的に削除するスクリプトを書いてみた。
[仕様]
- 指定ラベルのメールのうち30日経過したものを削除
- 毎晩0時に実行(トリガーを時間主導に設定)
[手順]
- ドライブ–>Googleスプレッドシート新規作成し開く–>ツール–>スクリプトエディタ
- 既存のコードを削除して下記コピペ
- リソース–>現在のプロジェクトのトリガー–>イベントを時間主導に設定
スクリプトの内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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
広告
広告