GAS初心者必見!自動でメールを削除するGoogle Apps Script活用法
トラウマ級にたまったメールを自動で削除したいです…。GASで何とかなるんでしょうか?

猫男

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
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
そうさ、GASは無限の可能性を持っている。これからもスクリプトをコントロールして、自由な環境を築こう。