Email 自動化清理
2026-04-22 vampire 要做的 email 自動化 — AI 判斷重要性、不重要丟垃圾桶,Gmail + Hotmail 兩個信箱
Email 自動化清理(2026-04-22 啟動)
核心需求
vampire 要 AI 幫他看所有新郵件,不重要的直接丟垃圾桶。
信箱
xavier201799@gmail.com(Google Gmail API)xavier_201799@hotmail.com(Microsoft Graph API)
安全設計
- 第一週:只標記不刪 — 我推 Discord 摘要,vampire 驗證 AI 判斷準不準
- 第二週起:AI 判「不重要」自動丟垃圾桶(30 天可救回,不是 permanent delete)
- 白名單:vampire 可列永遠保留的寄件人
- 關鍵字:銀行 OTP、帳單、朋友、訂單、工作、聯盟行銷通知 → 強制保留
預計工時
2-4 小時(兩套 OAuth + LLM 分類 + launchd 排程)
排程
~/Library/LaunchAgents/ai.email.auto.remind.plist — 每日 02:00 推 Discord 提醒,vampire 收工後若有精神可以啟動
實作進度(2026-04-24)
- ✅ Gmail 通:IMAP + App Password(
mail-auto-gmailkeychain) - 第一輪清 14 封廣告/社群(Bright Data / TraffMonetizer / Instagram / Mastodon / DEV Community)
- ✅ Hotmail 通:OAuth2 device code + XOAUTH2 IMAP
- Client ID:
9e5f94bc-e8a4-4e73-b8be-63364c29d753(legacy Outlook public client,Microsoft 顯示為「Thunderbird」) - Refresh token 存 keychain
mail-auto-hotmail-refresh,30 天 sliding window - INBOX 總 1544 封,180 天內 73 封,自動判定 3 封推銷刪除
- ✅ 腳本:
~/Desktop/藍鰭公室/個人/email/ fetch_gmail.py/fetch_hotmail.py— 24h INBOX 掃描trash_ads.py— Gmail AD_SENDERS 黑名單刪信hotmail_auto_trash.py— Hotmail List-Unsubscribe + 白名單過濾(dry-run 預設,--apply 執行)ms_oauth.py— MS refresh token → access token helper- ⏳ 分類目前靠 CX 手動做(還沒接 LLM API),規則版已 work
- ⏳ launchd 自動化還沒排(等 vampire 拍板頻率)
- ✅ 2026-04-25 全 INBOX 大掃蕩完成:1459 封掃完刪 105 封廣告
- BLOCK_DOMAINS 增補:
tenso.com/maxrdp.com/news.mybank.com.tw/e.coupang.com - 砍的代表寄件:Costco 行銷 11、中國信託卡務 8、Booking.com、阿華師、CHARLES&KEITH、家樂福、STUDIO A、Coupang、Uber Eats、國泰卡友、歐付寶、AppStore 推薦
- DAYS=3650 等同全 INBOX 掃描,scan ~5 分鐘
技術細節
- Gmail IMAP:
imap.gmail.com:993 - Gmail 垃圾桶 mailbox:
[Gmail]/垃圾桶(UTF-7 encoded:[Gmail]/&V4NXPmh2-) - IMAP FROM search 只匹配 envelope 裡的 email address 子字串,不匹配 display name
- Hotmail IMAP:
outlook.office365.com:993(Basic Auth 掛點,一定要走 XOAUTH2) - Hotmail Trash:
Deleted(有\Trashflag) - MS device code flow endpoint:
https://login.microsoftonline.com/consumers/oauth2/v2.0/devicecode - XOAUTH2 auth string:
user=<email>\x01auth=Bearer <token>\x01\x01 - 保留白名單(KEEP_DOMAINS)含凱基人壽/台北富邦/中華電信/遠傳/Gogoro/Apple/PayPal/Gumroad/tradevan 發票/iChannels
- 保留 subject 關鍵字:驗證碼/OTP/帳單/發票/繳納/繳費/保險/通知單
How to apply
- vampire 說「開始做 email」「信箱」「刪推銷」→ 跑 trash_ads.py
- 新增黑名單寄件人 → 編
trash_ads.pyAD_SENDERS - 要看最近 24h INBOX 狀態 → 跑 fetch_gmail.py
- Hotmail 暫時不要承諾會處理,除非 vampire 願意走 OAuth2