とても便利なGmailですが、いくつか欲しい機能があります。
「過去の特定のメールで、スターが付いていないものを削除する」処理を記述してみました。
手順1.特定のメールを抽出するフィルタを作成する。
手順2.Google Driveで「新規のスプレッドシート」を作成する。
手順3.「新規のスプレッドシート」から「ツール」→「スクリプトエディタ」を開く。
手順4.以下のようなスクリプトを記載する。
function myFunction() {
// 31日以前に受信した「スターが付いていない」「CRON_From_RaspberryPi」というラベルを削除する
var delayDays = 31;
var deleteLabel = "CRON_From_RaspberryPi";
var deleteThreads = GmailApp.search('older_than:'+delayDays+'d -is:starred label:'+ deleteLabel);
for (var i = 0; i < deleteThreads.length; i++) {
deleteThreads[i].moveToTrash();
}
}
手順5.スクリプトの実行条件を設定する。(初回起動時には、権限に関する確認メッセージが表示されます)
![](https://mamimu-memo.com/wp-content/uploads/2021/09/20210927_自作メール自動削除Project(10日前のメール)_-_プロジェクト編集者_-_Apps_Script.jpg)
a.実行するアカウントを選択
![](https://mamimu-memo.com/wp-content/uploads/2021/09/20210927_ログイン_-_Google_アカウント.jpg)
![](https://mamimu-memo.com/wp-content/uploads/2021/09/20210927b_ログイン_-_Google_アカウント.jpg)
c.許可
![](https://mamimu-memo.com/wp-content/uploads/2021/09/20210927c_ログイン_-_Google_アカウント.jpg)
参考)権限がない時に実行したエラー
![](https://mamimu-memo.com/wp-content/uploads/2021/09/20210927_Summary_of_failures_for_Google_Apps_Script__メール自動削除Project(10日前のメール)_-_ar5000a2_gmail_com_-_Gmail-1.jpg)
詳細は以下の記事を参考しました。
参考にさせていただきました。ありがとうございます。
リンク