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
コメント