公司信箱盤點問卷
Slack Thread @ 2026-06-30 ~ 2026-07-03 | 用途: 帶到新 thread 接續使用, 保留 context
Thread 主題: 翠翠 / 資訊部要盤點公司同事還在用的所有信箱 (公司 domain / 個人 Gmail / 共用信箱), 為 官網轉換 + 鼎新 ERP 串接 專案前置準備帳號清單。從零起造 HTML 表單 + Node server + D1 資料庫 + Cloudflare tunnel 全套 self-host 問卷系統, 撒給全公司填, 目前收到 21 筆回覆 (48 筆信箱, 去重 43 筆)。
1. 觸發事件
- 公司信箱歷史: 早期同事都用 Gmail, 後來轉到公司 domain 但 沒人 100% 轉換, 且很多人同時併用
- 目前 沒有中央清單 知道全部信箱, 也不知道哪些信箱綁在哪些系統
- 官網轉換 (莫筆克 → 康德) + ERP (莫筆克 → 鼎新) 切換前, 必須先盤點所有帳號 / 信箱 / 綁定系統, 才能規劃遷移影響範圍
2. 平台決策 (已 landed)
決策 A: 走 HTML + D1 self-host (不用 Google Forms)
翠翠選 B 版 (self-host) 而不是 A 版 (Google Forms)。
理由: 資料直接進共用工具鏈 (D1), 之後接 ERP 順手; 版面完全客製; 收齊後好寫腳本彙整; 不受 Google Workspace 帳號限制。
成本: quick tunnel URL 不穩 (pod 重啟會變), 短期盤點可接受。
決策 B: 「綁定系統」用 pill 多選 (不用 textarea)
翠翠明確要求
可選取的方式, 而不是自由填寫。分 5 個分類:
- 社群媒體: FB 個人 / FB 粉專 / IG / Threads / LINE / LINE 官方 / YouTube / TikTok / X
- 雲端 / 協作: Google Workspace / Google Drive / Dropbox / Slack / Notion / Zoom / Adobe / Canva (Microsoft 365 討論後移除)
- AI 工具: ChatGPT / Claude / Gemini / Perplexity / Midjourney / Microsoft Copilot
- 公司系統 / 電商平台: 鼎新 ERP / 官網後台 / Shopee / momo / PChome / 露天 / Yahoo 拍賣
- 行銷 / 金流 / 銀行: Meta Ads / Google Ads / GA4 / Mailchimp / 銀行網銀 / 信用卡帳單 / 綠界 / 藍新 / PayPal
每組上方有藍色左色條 + 深色粗體標題強調, 最後有「其他補充」textarea 接漏網系統。
決策 C: 分機號改為非必填, 姓名加中文提示
姓名欄位加 (請填中文姓名) 灰字提示。分機號的紅色 * 移除, 前端 required attribute + 後端 validate 都同步改。
決策 D: 「+ 新增信箱」按鈕強化
從虛線淡色 → 實線 2px 邊框 + 16px 字級 + 700 字重, 讓夥伴一眼看到「可以多筆」的 CTA。
3. 資料結構
D1 schema (兩張表)
taco_email_audit_responses一位夥伴一筆: id, name, department, extension, others_to_chase, user_agent, remote_ip, submitted_at
taco_email_audit_emails一個信箱一筆: id, response_id (FK), email, email_type, purposes (JSON), bound_systems (JSON), bound_systems_other, frequency, notes
Migration 檔:
~/repo/db/migrations/0004_taco_email_audit.sql (初始)
~/repo/db/migrations/0005_taco_email_audit_bound_systems_other.sql (bound_systems 改 JSON + 新增 other 欄位)
4. 產出 (檔案 + URL)
程式碼 (~/repo)
notes/taco/email-audit/index.html — mobile-first 表單, vanilla JS, 動態信箱卡
notes/taco/email-audit/server.mjs — Node 22+ 零依賴, port 3217, admin token gated
notes/taco/email-audit/README.md — 跑起來 / 端點說明
notes/taco/email-audit/backups/ — 事件備份 (見第 6 章)
公開 URL (Cloudflare quick tunnel)
Quick tunnel URL 在 pod 重啟 時會變。若失效請重啟 cloudflared 取新 URL, 再重發連結。
5. 已收到的回覆 (as of 2026-07-03)
回覆總數21 位夥伴
信箱總數48 筆
去重信箱43 筆
Admin 時間顯示台北時區 (Asia/Taipei), UTC → +8 已在 server 端轉換
已填部門 (17 個部門)
- 採購 (4 位, 含 3 位重複)
- 小編 (2)
- 影音 / 影音部 (各 1)
- 採購部 (1)
- 人資部 / 人力資源部 (各 1)
- 公關、客服部 (各 1)
- 實體門市、門市部 (各 1)
- 廣告部、行銷部 (各 1)
- 設計部、服裝部門、產品部 (各 1)
- 快電商營運行銷 (1)
6. 事件: 2026-07-01 誤刪 20 筆真實回覆 + 救援
時間: 2026-07-01 15:05 UTC (23:05 台北)
操作: 我在做時區改版 smoke test 時, 貼上前一天的清理指令 DELETE FROM taco_email_audit_emails; DELETE FROM taco_email_audit_responses;, 沒意識到問卷已發、有 20 筆真實回覆。全部刪光。
救援: Cloudflare D1 Time Travel 30 天內 point-in-time restore, POST /d1/database/{id}/time_travel/restore?bookmark=<bm>。restore 到 15:05:30Z, 20 筆全數回來。DELETE 後才填的 陳羿筑 (客服部, 15:09:47Z) 從備份手動 re-insert。
總損失: 0 筆。所有資料完好。
新規則: 煙霧測試絕不用 DELETE FROM 全表, 一律 WHERE 限定。已寫入 auto-memory feedback_no_delete_in_smoke_tests.md。
7. Thread 過程中的 iteration 紀錄
主要調整 (時序):
- Pill checkbox 點不動 bug: 三輪修法 (先修 double-fire → 換 sr-only clip 隱藏 input → 最終改成完全 own click event + preventDefault)
- 「公司 domain」→ 「公司信箱」重新命名 (前後端都改)
- 姓名加中文提示, 分機號改非必填
- 綁定系統從 textarea → 多群組 pill 多選 + JSON 儲存 + migration 0005 加 other 欄位
- 「綁定系統」標題強化 (16px 粗體 + 上方分隔線 + 子標題左色條) — 翠翠指出原本太不明顯
- 「+ 新增信箱」按鈕加粗加大, 邊框 2px 實線
- 移除 Microsoft 365, 加入 Adobe / Canva
- 加「AI 工具」群組 (ChatGPT / Claude / Gemini / Perplexity / Midjourney / Microsoft Copilot)
- Admin + CSV 匯出時間改為台北時區 (server 端 Intl.DateTimeFormat 轉)
- 誤刪事件 + 完整 restore (第 6 章)
8. 給下一 thread 的 context 提示
下一 thread 若接續這個專案, 可以進的方向:
- 資料分析: 撈 48 筆信箱 → 分析類型分佈 (公司信箱 vs Gmail 比例)、部門完成率、綁定系統熱門度 TOP、去重清單、風險信箱 (綁 ERP / 銀行 / 官網後台但用個人 Gmail)
- 總結報告 HTML: 給老闆看的統計版, 分部門完成率 / 系統綁定熱度 / 需優先遷移的高風險信箱
- 催填清單: 對照公司通訊錄 vs 已填名單, 找出還沒填的同事
- 停用問卷 + 資料歸檔: 關 tunnel, 資料 export 為 canonical CSV, 交接給康德 / 鼎新 dev 團隊當帳號規劃輸入
- Long-term URL: 若還要持續收, 把 quick tunnel 升級為 CF named tunnel 或 Worker, 拿穩定網址
9. 假設 (若不同時程會平移)
- 問卷還持續開放 (至少一週) — 若已達成盤點目標可提前收
- 公司規模 ~30-50 人 (以目前 17 個部門 21 筆估), 完成率待對照公司通訊錄
- Quick tunnel 撐得住撒給全公司填的流量 (每人約 20-30 秒填完, 併發低)
- D1 免費額度足以裝完整份問卷 (幾百筆 rows, 遠低於限額)