1. 為什麼寄給 Gmail 會被退信?
您是否曾遇過寄信給 Gmail 用戶時,收到如下的退信通知(Bounce Message)?
550-5.7.26 Unauthenticated email from [yourdomain.com] is not accepted due to domain’s
550-5.7.26 DMARC policy. Please contact the administrator of [yourdomain.com] domain…
這並非您的信件有問題,而是 Gmail 為了防範垃圾郵件與釣魚信件,大幅提高了對寄件者身份驗證的要求。如果您的網域沒有正確設定 SPF、DKIM 以及 DMARC,Gmail 就會認為您的信件來源可疑,進而拒收或將其丟入垃圾郵件匣。
本篇教學將帶您深入了解這三項驗證機制的原理,並教您如何在 cPanel 主機或外部 DNS 上完成設定,徹底解決 Gmail 擋信問題。
2. 最快速的解決方案:主機空間和網址都和ServerZoo 主機動物園購買,SPF和DKIM就都會全自動完成了
如果您覺得自行設定 DNS 紀錄太過複雜,最簡單、最無痛的解法就是:將網址和主機空間都統一在 ServerZoo 主機動物園購買與管理。
ServerZoo 的中華電信主機方案,「預設」就已為您開啟並配置好 SPF 和 DKIM。只要您的網域 DNS 指向是由 ServerZoo 代管(使用 ServerZoo 的 NameServers),系統會自動幫您完成繁瑣的驗證設定,您幾乎不需要動手。至於 DMARC,雖然仍需手動添加,但基礎的驗證已大功告成。
3. 如果網址不是跟主機商買的?
這是許多使用者遇到的狀況:主機租用 A 公司,網址卻是在 B 公司買的。這時候,SPF 和 DKIM 該去哪裡設?
黃金法則:DNS 指向哪裡,就在哪裡設定。
- 情境 A (最推薦): 您將網域的 NameServers (NS) 修改為 ServerZoo 提供的 `ns*.potia.com`。👉 恭喜!您的 DNS 管理權已交給 ServerZoo,SPF 和 DKIM 會自動生效,無需額外操作。
- 情境 B (自行管理): 您使用網址商或其他第三方 (如 Cloudflare) 的 DNS 服務,只將 A 紀錄指向 ServerZoo 主機 IP。👉 這時,您必須手動登入您的 DNS 管理後台 (例如 Cloudflare),自行添加 SPF、DKIM 和 DMARC 的 TXT 紀錄。本文後續將詳細說明如何取得這些數值。
4. 核心觀念:SPF、DKIM、DMARC 是什麼?
在動手設定前,我們先用白話文了解這三位「郵件保全」的角色:
4.1. DomainKeys (DKIM):數位簽章
DKIM 就像是信封上的「封蠟章」。寄件主機會用私鑰對信件進行數位簽名,收件主機則透過 DNS 上的公鑰來驗證簽名。如果信件在傳輸過程中被竄改,封蠟就會破碎(驗證失敗),收件方就知道這封信不可信。
4.2. SPF (寄件者策略框架):IP 驗證
SPF 就像是一份「授權名單」。您在 DNS 上公告:「只有 IP 位址是 1.2.3.4 的主機,才有資格代表我的網域寄信」。當 Gmail 收到信時,會檢查寄信來源 IP 是否在您的 SPF 名單上。如果不是,就視為偽造信件。
4.3. DMARC:驗證失敗的處置政策
DMARC 是「指揮官」。它告訴收件方 (如 Gmail):「如果這封信 SPF 或 DKIM 驗證失敗了,請你怎麼處理?」您可以指示 Gmail 直接退信 (Reject)、丟進垃圾桶 (Quarantine),或是什麼都不做(None),並要求 Gmail 回報統計數據給您。
5. 如何在 cPanel 取得 SPF 與 DKIM 紀錄
如果您屬於上述的「情境 B」(DNS 在外部管理),您需要先從 cPanel 取得正確的 SPF 和 DKIM 數值,再貼到您的 DNS 後台。
5.1. 步驟一:進入 Email Deliverability
登入您的 cPanel 控制台,找到「電子郵件 (Email)」區塊,點擊「Email Deliverability」圖示。
5.2. 步驟二:檢視或修復紀錄
進入後,您會看到網域的驗證狀態。如果顯示為「Valid (有效)」,代表設定正確。如果顯示錯誤,您可以點擊右側的「Repair (修復)」按鈕,讓系統嘗試自動修正(僅限 DNS 在 cPanel 管理的情況)。
5.3. 步驟三:取得數值並設定到外部 DNS
若您的 DNS 在外部,請點擊網域右側的「管理 (Manage)」按鈕。在接下來的頁面中,您會看到完整的 DKIM 和 SPF 紀錄值(通常是 TXT 類型)。
請將這些「名稱 (Name)」與「值 (Value)」複製下來,登入您的外部 DNS 管理介面 (如 Cloudflare),新增對應的 TXT 紀錄即可。
6. 進階設定:如何設定 DMARC 紀錄?
cPanel 預設可能不會自動產生 DMARC,您通常需要手動添加。這同樣是一筆 TXT 紀錄。
6.1. 在外部 DNS 設定 DMARC
在您的 DNS 後台新增一筆 TXT 紀錄:
- 主機名稱 (Host/Name): `_dmarc`
- 內容 (Value):
v=DMARC1; p=none; rua=mailto:admin@yourdomain.com
*(請將 admin@yourdomain.com 替換為您自己的 Email,用來接收報告)*
6.2. 在 cPanel DNS Zone 設定 DMARC
如果您的 DNS 是由 cPanel 管理,請依照以下步驟:
- 進入 cPanel >「Zone Editor」> 點擊網域旁的「管理 (Manage)」。
- 點擊「+ 新增紀錄 (Add Record)」,選擇類型為 TXT。
- 名稱: 輸入 `_dmarc` (系統會自動補完網域名稱)。
- 紀錄: 貼上上述的 DMARC 規則代碼。
- 點擊「Save Record」儲存。
7. 結論:提升信譽,減少誤判
設定 SPF、DKIM 和 DMARC 並不能保證信件「絕對」不會進入垃圾桶(畢竟信件內容、主旨、IP 信譽等也是影響因素),但它們是建立網域信譽的必要基礎。特別是對於 Gmail、Yahoo 等大型郵件服務商,這些驗證已成為是否收信的關鍵指標。花點時間完成這些設定,將能顯著提升您的郵件送達率。
8. 常見問題 (FAQ)
Q1:設定完後,為什麼還是被退信?
DNS 紀錄的更新需要時間傳播,通常需等待 24-48 小時才會在全球完全生效。此外,即便通過驗證,如果您的信件內容包含敏感關鍵字、過多連結,或您的 IP 曾被列入黑名單,仍可能被退信。請檢查退信內容中的具體錯誤代碼。
Q2:DMARC 的 `p=none` 是什麼意思?
`p=none` 代表「監控模式」。這告訴收件方(如 Gmail):如果驗證失敗,先不要擋信,照常收件,但請寄送一份報告給我。這通常是剛開始設定 DMARC 時的建議選項,等到確認設定無誤後,再改為 `p=quarantine` (丟垃圾桶) 或 `p=reject` (直接退信) 來實施嚴格保護。
Q3:我可以使用多個 SPF 紀錄嗎?
不行! 一個網域只能有一條 SPF TXT 紀錄。如果您同時使用多個郵件服務(例如同時用 cPanel 和 Google Workspace 寄信),您必須將它們合併在同一條紀錄中,例如:`v=spf1 include:_spf.google.com +ip4:1.2.3.4 ~all`。
延伸閱讀:虛擬主機DNS SERVER的設定及其設定失效時,對於其它指向設定有什麼影響呢?
文章來源 : https://wpoki.com




這個現在幾乎個個網頁空間必備的EMAIL設定,主要確保GMAIL能夠正確收到您虛擬主機上發出的企業信箱喔