GAS初心者必見!自動でメールを削除するGoogle Apps Script活用法

トラウマ級にたまったメールを自動で削除したいです…。GASで何とかなるんでしょうか?
猫男
猫男
catman
catman
もちろんだ。catmanがGASを使ってひとつのスクリプトでメールを削除する方法を教えてやるさ。

GASでメールを削除する手順

GASを使えば、特定の条件でメールを削除する自動化を行える。

スクリプトを見てみよう。


 function deleteOldEmails() {
   var threads = GmailApp.search('older_than:1y');
   GmailApp.moveThreadsToTrash(threads);
 }

1年前以上のメールを検索し、それらをゴミ箱に移動するものだ。

‘older_than:1y’ は Gmail の検索演算子で「1年以上前のメールスレッド」を検索。

1y は「1 year(1年)」の略。他にも older_than:30d(30日以上前)などが使える。

GmailApp.moveThreadsToTrash(threads); で取得したスレッド一覧を ゴミ箱に移動するんだ。

ただ、完全削除ではない点に注意な(ゴミ箱に入れてから30日で自動削除)。

 

GASでメールを削除する実用例

実際にどんな場合にこのスクリプトが活躍するかを考えてみよう。

メールボックス整理の効率化

毎日たくさんのメールが届く中で、古いメールを自動的に削除することは、メールボックスの整理に非常に役立つさ。

ストレージ上限問題の解決

Gmailのストレージ容量は時々オーバーすることがある。そんなとき、古いメールを削除することで、ストレージを確保できるわけだ。

メールを削除するストレスから解放されました!
猫男
猫男
catman
catman
GASを使えば、時間と労力を節約できるのが大きな魅力さ。

 

練習問題

GASを使って「2年前以上の重要ラベルメール」を自動削除するスクリプトを書いてみよう。削除ではなくアーカイブにする場合のスクリプトも考えよう。

解答・解説


 function deleteImportantOldEmails() {
   var threads = GmailApp.search('label:important older_than:2y');
   GmailApp.moveThreadsToTrash(threads);
 }

 function archiveImportantOldEmails() {
   var threads = GmailApp.search('label:important older_than:2y');
   GmailApp.moveThreadsToArchive(threads);
 }

このスクリプトでは、GmailAppのsearchメソッドを使い、「important」ラベルの付いた2年前以上のメールを探し出せる。

deleteImportantOldEmails関数では、見つけたスレッドをmoveThreadsToTrashメソッドでゴミ箱に移動する。

archiveImportantOldEmails関数では、moveThreadsToArchiveメソッドを使って、メールをアーカイブに移動する。

GASでこんなに簡単にメール管理ができるなんて、びっくりしました!今後もいろいろ試してみます!
猫男
猫男
catman
catman
そうさ、GASは無限の可能性を持っている。これからもスクリプトをコントロールして、自由な環境を築こう。