type
status
date
slug
summary
tags
category
icon
password
透過 Google Sheet 與 Google Apps Script 結合,打造一套可視化條件設定(特定主旨、寄件者或網域的信件)、定時清理 Gmail 的自動化系統,有效釋放信箱空間。
研究背景
由於 Gmail 信箱時常接收大量各種網路服務、 APP 、網路銀行等登入通知、付款明細、信用卡帳單、驗證碼、活動電子報等系統信擠爆!這些具時效性的信件,每日自動湧入但通常不具備長期保存價值,卻長期佔據 Gmail 空間,影響使用體驗( Google 家的各式服務空間是連通共用的,例:Google Drive)。
因此想針對系統信固定特徵的性質,設計一自動化清理小系統,幫助自己定期刪除不必要信件,再由垃圾桶定期將30天以上的垃圾丟掉,把儲存空間自動空出來!
主要功能
目標是讓 Gmail 自動刪除指定條件的信件,而且不需要進入 Gmail 操作,只要在 Google Sheet 上設定好條件,就會每天定時自動執行。
大致上分為:條件設定介面(Google Sheet「 Rules 」工作表)、自動執行邏輯(Google Apps Script)、刪除紀錄與除錯機制(Google Sheet「 log 」工作表),這三塊。
Google Apps Script 定時觸發負責執行刪除任務 → 從試算表讀條件規則 → 查 Gmail 信箱 → 篩選 → 丟進垃圾桶。
條件設定介面(Google Sheet「Rules」工作表)
- 支援輸入主旨關鍵字、比對方式(完全符合 / 包含)、信件分類、天數條件等。
- 可設定是否只刪除收件匣、是否刪除整串對話。
- 可自由啟用或停用某一條規則。
自動執行邏輯(Google Apps Script)
- 排程讓時間觸發器定時執行對應信件類別刪除函式。
- 符合條件的信件會自動刪除,並記錄 log。
刪除紀錄與除錯機制(Google Sheet「log」工作表)
- 每次執行的結果寫入 Log 表內,顯示每次任務的各條規則各自刪了多少封信。
- 方便觀察執行成果與進行除錯。
設計與實作技術
系統的核心設計是「讓使用者透過 Google Sheet 設定篩選規則,讓 Google Apps Script 自動執行刪除任務」
條件設定介面(Google Sheet「Rules」工作表)

以試算表內工作表作條件管理設定區:
Enabled:控制是否啟用該條件
Category:自訂類別(如:login、payment、2FA、news)
Field:比對欄位(如:主旨subject/ 寄件人from/ 網域domain)
Match:比對方式(如:包含contains/ 完全符合exact)
Pattern:欲比對的文字內容
AgeDays:刪除幾天以前的信件,>= N 天才可刪;0 =不限制
NewerThan:搜尋特定時間範圍內信件(如 30d 為今日往前30天內);0 =不限制
OnlyInbox:TRUE 只掃收件匣;FALSE 全郵件
DeleteWholeThread:TRUE 命中一封就整串丟;FALSE 只刪命中的單封
Note:使用者備註
自動執行邏輯(Google Apps Script)
- 類別入口:各類別有單獨的刪除函式
- 建立排程(時間觸發):可依各類別性質安排各自的觸發時間與頻率。
- 批次處理
- 系統時間限制處理
開發問題筆記
- 技術棧之選擇:
Google Sheet + Google Apps Script - 因為本身 Gmail 就同為G家的服務之一,支援性高。
- 考量若以其他程式、n8n 等實作,未來維護上可能沒有比用 Google Sheet 擴充規則來的方便。
- Google Apps Script 單次執行上限為 6 分鐘(免費帳號),導致刪除信件會有限。
- 增加批次功能、函式設定5分鐘即跳出等功能:
- 記錄當前執行進度(游標)
- 使換批次時,每個類別可接續上次未完成進度往下進行。
- 改善使用者體驗:
- Google Sheet 內的「選項型」欄位,使用下拉選單、核取方塊(替代TRUE/FALSE)等,且設定不同顏色區分,友善使用者作選項切換。
- 使用 Google Sheet 內的 app script 綁定試算表,同時也設定試算表 UI,平時有需要可進本表在畫面上方直接點選作手動啟動。
- 各刪除規則的函式皆補上
appendLog_,讓 Log 工作表完整記錄每次所執行的刪除任務。

實測效果


小小後記
會作這個小工具,是近期自己又遇到一實際痛點——我的儲存空間容量快要爆掉了!
我的容量常常在上限邊緣徘徊,每每都拖到快沒空間用,才匆匆著手花時間人工處理。
(特別是那些各家銀行、各大平台服務的「系統通知」信件,通常數量很多、有時效性、沒有保存必要😅)
現在,能透過小工具解決這件「麻煩又非常花時間」的動作,舒緩我常常雲端空間不夠的容量焦慮,真的是很值得的小事!
贊助支持鼓勵
如果這篇文章對你有所幫助或解惑,歡迎您賞我一杯啤酒🍻



