← Blog Home

為什麼 HTML 電子郵件看起來會壞掉(以及你能做什麼)📩🛠️

tw 2026-02-24 07:47:14

你一定遇過這種崩潰時刻:行銷信在瀏覽器預覽裡超漂亮,字體、間距、按鈕、圖片都完美;結果一寄出去,收件者回你一句「怎麼看起來怪怪的?」你打開一看——Outlook 把版面擠到像壓縮餅乾、Gmail 把留白吃掉、iPhone 暗黑模式把背景變深、文字變亮,主視覺直接變成另一種風格;更慘的是圖片被擋住,整封信像沒穿衣服一樣尷尬。

先把結論講清楚:HTML 電子郵件不是網頁。它不能用你在網站開發時習慣的方式去想像。多數郵件客戶端會為了安全、效能與使用者體驗,對 HTML/CSS 做大量限制與改寫。你看到的「壞掉」,其實是各家軟體在用自己的規則重畫你的設計。

這篇文章會從「為什麼會壞」一路講到「你能怎麼修」,讓你不只知道原因,還能拿到一份可以直接照做的實戰清單。🛠️

一個關鍵認知:郵件客戶端是在「解釋」你的 HTML

在網頁世界裡,瀏覽器對 HTML/CSS 的支援相對一致,至少你能用 DevTools 找問題、用現代 CSS 佈局。可是電子郵件世界完全不同:

  • 不同客戶端有不同渲染引擎:有些像瀏覽器,有些不是。尤其部分 Outlook 版本會用近似 Word 的渲染方式來顯示郵件,這會讓大量 CSS 直接失效。
  • 安全過濾很嚴格:script、iframe、某些 CSS、外部資源、甚至部分屬性都可能被移除或重寫。
  • 使用者端設定也會影響:例如「不自動載入圖片」、系統字體大小、暗黑模式、縮放比例等。

所以你不是在做「一份 HTML」,你是在做「一份能被很多不同規則正確解釋的 HTML」。

原因 1:CSS 支援差異超大(尤其是 Outlook)

HTML 郵件最常壞在 CSS。你在網站上習以為常的東西,在郵件裡可能是禁用的、半殘的、或被改寫的。

常見踩雷點

  • Flex / Grid 不可靠:很多郵件客戶端支援不完整,特別是桌面版 Outlook。
  • 外部 CSS / <link> 常被忽略:不少客戶端會移除或不載入外部樣式。
  • class selector 不一定穩:有些環境會重寫 class 或降低其優先度。
  • margin 可能被吃掉:尤其是段落、圖片或區塊元素的上下間距,在不同客戶端會不一致。
  • background-image 支援不一致:背景圖在某些 Outlook 版本會失效,導致原本設計的主視覺直接不見。

因此,HTML 郵件常見做法不是追求最潮的 CSS,而是追求最「老派但穩」的排版方式——例如以表格(table)結構做主要佈局,並把關鍵樣式用 inline style 寫在元素上。

原因 2:圖片常常不顯示,不是你壞,是它故意的

很多收件者會看到「圖片被封鎖」的提示,這通常不是你的 HTML 寫錯,而是郵件客戶端的隱私與安全策略。圖片一旦載入,就可能讓寄件方知道「你已讀了」或至少知道「你打開過」。所以不少環境會預設不自動載入圖片。

你會看到的症狀

  • 主視覺空白一大片,看起來像壞圖。
  • 按鈕明明是圖片做的,結果變成看不到的透明區。
  • 字在圖片裡(例如促銷文案),圖片被擋就等於整段消失。

你能做什麼

  • 重要資訊不要放在圖片裡:促銷內容、標題、主訴求請用可選取文字呈現。
  • 每張圖都要有 alt 文字:當圖片不載入時,至少讓收件者知道這裡原本要呈現什麼。
  • 圖片尺寸要固定:避免載入前後造成跳動。常用方式是明確設 width/height,或用表格 cell 控制。
  • 用「像按鈕」的 HTML 按鈕:不要用一張按鈕圖片當連結主體,改用可點擊的文字按鈕樣式。

把圖片當成「加分」而不是「必要」的內容,你的信就不會因為圖片被擋而整封崩盤。

原因 3:暗黑模式會改顏色,而且改得很「有個性」🌙

暗黑模式是近年最常見的跑版元兇之一。很多郵件客戶端會在暗黑模式下自動調整背景與文字顏色,甚至連圖片周圍的白底也可能被「視覺融合」得很奇怪。

典型災情

  • 你設計的淺灰背景被強制變深,結果文字對比不足。
  • 品牌色被調亮或調暗,整體風格跑掉。
  • 透明 PNG 圖片在深色背景上看起來像被挖空或邊緣怪異。
  • 按鈕顏色變了,hover 或邊框消失,看起來像不能點。

改善思路

  • 確保對比:文字與背景的對比要足夠,就算被系統調整也不至於看不清。
  • 避免極端淺色邊界:純白區塊在暗黑模式下常出現「被染色」或邊緣怪影。
  • 主視覺別靠背景色撐一切:用清楚的區塊分隔、邊框與間距,讓結構在任何配色下仍然成立。
  • 重要 Logo 提供深淺兩版:至少確保在深背景也清楚辨識。

暗黑模式不是不能做漂亮,而是要接受它會「介入」。你能做的是把設計做得更耐打、更不怕被改。

原因 4:寬度、縮放與行動裝置渲染造成「擠壓」

你可能以為你做的是 600px 寬的版面,但收件者可能在:

  • 手機 Gmail App 裡看(字體可能被放大、行距被調整)。
  • 桌機 Outlook 視窗很窄的預覽窗格裡看(內容被壓縮或換行)。
  • 高 DPI 螢幕縮放 125% 或 150% 的環境看(元素比例改變)。

常見症狀

  • 兩欄變一欄,但順序亂掉。
  • 圖片超出容器,造成水平捲動。
  • 按鈕被擠到下一行,或文字被截斷。

實務建議

  • 主容器寬度保守:常見安全值是 600px 左右,並兼顧小螢幕可讀性。
  • 用表格做結構:你可以更精準控制欄位寬度與對齊。
  • 圖片設為可縮放:避免超出容器,並注意行動裝置的縮放行為。
  • 避免文字塞太滿:行動裝置會自動調字級,留白不足就容易爆版。

原因 5:字體不是你想用就能用,回退機制會改變排版

你在網站上可以用各種 web font,但在電子郵件裡,字體可用性大幅受限。很多客戶端不支援外部字型載入,或會直接忽略,改用系統字體。

為什麼這會造成「看起來壞掉」

  • 不同字體的字寬不同,導致同一句話在某些客戶端突然換行。
  • 行高與字距不同,按鈕高度、段落間距看起來不一致。
  • 粗體、斜體渲染不同,視覺重量跑掉。

較穩的做法是用一組「好用且常見」的字體堆疊,並在設計時就假設:收件者可能只會看到系統字體。你的版面要能在回退後仍然成立。

原因 6:郵件安全機制會「清洗」你的 HTML

除了渲染差異,還有一種壞法是:你的 HTML 被郵件系統直接改寫。原因可能是安全政策、反追蹤、或清理可疑元素。

常見被處理的內容

  • script / event handler:例如 onclick、onload 之類通常會被移除。
  • 某些 CSS 屬性:特定表現或定位相關屬性可能被刪。
  • 追蹤參數:某些環境會重寫連結或插入保護層。
  • 表單元素:input、form 在許多郵件客戶端不可用或直接失效。

因此,HTML 郵件不適合做「互動網頁」。如果你想要互動,通常正確的做法是:在郵件裡用清楚的 CTA 按鈕把人帶回你的網站或 App 裡完成互動。

你可以怎麼做:一份真正能落地的修復清單 ✅

如果你希望同一封信在不同平台看起來都像同一封信,這裡是一份務實的做法(不是理想派,而是能交付派):

結構策略

  • 表格(table)作為主要佈局骨架,避免依賴 Flex/Grid。
  • 關鍵樣式用inline style,不要只寫在 head 或外部 CSS。
  • 版面分成明確區塊:header、主內容、CTA、footer,每塊都能獨立成立。

內容策略

  • 重要訊息用文字呈現,圖片只是輔助。
  • 每張圖片都有 alt,且不要把整個段落放在圖片上。
  • 按鈕用 HTML 實作,確保在圖片被擋時仍可點擊。

相容性策略

  • 顏色設計考慮暗黑模式:對比要夠、避免純白大片與細灰字。
  • 字體以系統字體為基底,避免依賴外部字型。
  • 避免複雜定位與動畫效果,越簡單越穩。

測試策略

  • 至少在 Gmail(Web/Android/iOS)、Apple Mail(macOS/iOS)、Outlook(桌面/網頁)做交叉檢查。
  • 測試「圖片不載入」狀態:你的信是否仍然可讀?CTA 是否仍然明確?
  • 測試暗黑模式:品牌色、按鈕、主視覺是否還能辨識?
  • 測試不同縮放比例:125%、150% 時是否爆版?

很多人以為跑版是「某一個小 bug」,但其實它是「相容性工程」。你做得越像網頁,就越容易翻車;你做得越像郵件,越能穩穩落地。

如果你想讓信更穩:把期待調整成「跨平台一致」而不是「每個平台都完美」

這句話聽起來像妥協,但其實是專業。因為不同郵件客戶端本來就會做出不同取捨:安全優先、隱私優先、效能優先、或老舊架構包袱。你能追求的是:

  • 資訊一致:標題、重點、CTA 不會消失。
  • 結構一致:區塊順序與閱讀節奏不亂。
  • 可讀性一致:字不會太小、對比不會太低、按鈕不會點不到。
  • 品牌感一致:就算顏色被暗黑模式干預,也能辨識是你。

如果以上四點守住了,就算某些角落的間距差 4px、陰影少一點,收件者通常不會覺得「壞掉」,而是覺得「很正常」。

小結:HTML 郵件會壞掉,其實很正常,你只需要用對方法

HTML 電子郵件之所以常常看起來壞掉,是因為它被放在一個受限、分裂、且高度干預的環境裡。你在網頁開發的直覺有一半會失效,但只要你掌握幾個核心策略:表格骨架、inline 樣式、圖片可選、暗黑模式耐受、跨平台測試,你就能把「跑版」從不可控的玄學,變成可管理的工程流程。

最後給你一句很實用的心法:把郵件當成「可靠的訊息載體」,而不是「華麗的小網頁」。當你的設計是為了可靠傳達,收件者看到的就會是清楚、舒服、可信的內容,而不是一封看起來壞掉的信。📩✨

Tip: Temporary inboxes are best for low-risk sign-ups and verification. Avoid sensitive accounts that require long-term recovery access.