怎麼寄電子報不被 Gmail 鎖
客戶專案踩坑
Ricky-
08 月 22,2026

需求很單純:客戶按下「發佈」,系統就把新文章寄給每一位訂閱者。天真版三行就能寫完——抓出所有訂閱者、跑一個迴圈、全部送出去。問題是,這三行同時踩了三個雷。

一次爆送 🔒 Gmail 判濫發 幾秒內幾百封 → 進垃圾桶 / 帳號暫停 逐封節流 4s 4s 4s ✓ 穩穩送達 一封接一封、慢慢送完 → 信譽穩、不外洩
差別不在寄什麼,而在「怎麼送」——爆送賭上帳號,節流保住信譽。

天真版踩的三個雷

  1. 擋住發文請求。在發文當下同步把幾百封寄完,客戶會盯著轉圈圈等到天荒地老。
  2. 外洩收件人。想省事把所有人塞進同一封的 BCC?只要有一個環節把收件人攤開,就洩漏了整份訂閱名單。
  3. 被 Gmail 鎖。用一般 Gmail/SMTP 帳號在幾秒內狂送一大批,很容易被判濫發——輕則進垃圾桶,重則暫停帳號。

我們的做法

四個原則,把三個雷各個拆開:背景送、不擋請求;一人一封、單一收件人;逐封節流、串行不併發;先標記、只廣播一次。

// 發文 hook:先標記已寄,再「背景」慢送(不 await)
await markSent(post, { req });
void broadcastNewPost(post);        // 射後不理,發文立即回應

async function broadcastNewPost(post) {
  const subs = await findActiveSubscribers();
  for (const s of subs) {
    await sendEmail({ to: s.email, ...render(post, s.name) }); // 一人一封
    await sleep(DELAY_MS);            // 逐封節流(例:4s)
  }
}
新文章通知 · 旅遊部落格 To reader@example.com 只有一位 ✓ Cc —(空) Bcc —(空,絕不群發) 主旨:〈這站的新文章〉— 帶對方名字個人化
一人一封、單一收件人:任何一封信裡都看不到別的訂閱者。

眉角

  • 背景任務是「行程內記憶體佇列」。容器中途重啟,沒送完的會漏;所以「先標記已寄」,重啟後不會整批重寄——寧可少數人漏收,也不要全部再被轟一次。
  • 節流讓一篇可能數分鐘才送完,這是刻意的取捨,不是慢。
  • 真要規模化再換寄信服務(Resend / SES)+佇列;對剛起步的部落格,「慢慢送」已經夠穩又夠省。
帶得走的一句話

「通知所有訂閱者」的天真版之所以危險,是它把回應速度、隱私、寄件信譽全賭在同一個迴圈上。拆開來:背景送保住體驗、一人一封保住隱私、逐封節流保住帳號。慢,反而是這裡最安全的設計。

Tags:
電子報SMTP背景任務


相關文章
從零開始製作一個ip查詢網站-第三章 透過IP取得地理位置
從零開始製作一個ip查詢網站-第三章 透過IP取得地理位置
chris - 2025-11-29T06:05:00Z
從使用者 IP 取得地理資訊不是難事,但要完整呈現城市、國家、緯度/經度就需要好用的 API 與前端實作。這篇文章示範如何使用 ipapi.co 取得位置資料,並在 React 裡動態顯示使用者所在位...
一鍵發版背後:三個 repo 的分工
一鍵發版背後:三個 repo 的分工
ricky - 2026-07-09T02:00:00Z
一顆「發版」按鈕,背後牽動 fleet-console、部署後端與目標服務三個 repo。本文拆解版本號為什麼不能由前端計算、docker build --build-arg 如何無條件帶入 APP_...
測試要測「真的會發生的那條路」
測試要測「真的會發生的那條路」
ricky - 2026-08-22T09:12:20.021686Z
驗收發文通知時只測了「草稿改發佈」,但使用者走「新建即發佈」——好測的路剛好避開了 404,提醒要測真實路徑。
訂閱電子報
隨時掌握最新的創業故事與設計開發過程
內容包含來自麒航團隊的日常分享、專業知識與工具推薦,助你了解更多創業背後的思維與技術。
麒航私房推薦
Clelereve Blog LogoClelereve Blog LogoClelereve Blog Logo
廣告區
Clelereve Blog Logo
聯絡我們
任何合作或問題請洽:
clelereve@gmail.com
Follow us
Copyright © 2025 blog.clelereve.com - All Rights Reserved
Frontend Version: -- | Backend Version: --
創業實驗筆記 - Clelereve Blog | 怎麼寄電子報不被 Gmail 鎖 | Clelereve Blog