Defaults.Exposed › 設置 › SPF
如何在 Cloudflare 上設定 SPF
在 Cloudflare DNS 中新增一條 SPF 記錄,讓郵件服務商能分辨出你的真實郵件和偽造郵件。
這件事對你的生意意味著什麼
SPF(寄件人原則框架,Sender Policy Framework)是你網域 DNS 裡的一條簡短聲明,列出哪些郵件伺服器有權以你的名義傳送郵件。當有人收到一封聲稱來自你的郵件時,他們的郵件服務商會去核對這份名單。如果寄件伺服器不在名單上,這封郵件就會顯得可疑——要麼被丟進垃圾桶,要麼直接被攔截。
說白了:SPF 讓別人更難以郵件方式冒充你的生意,同時幫助你真正傳送的郵件進到收件匣、而不是垃圾郵件資料夾。它只是一條記錄,免費,幾分鐘就能搞定。
開始之前:你的 DNS 真的是由 Cloudflare 託管的嗎?
這是大多數人會弄錯的一步。一條 DNS 記錄只有在由 Cloudflare 來應答你網域的 DNS 查詢時才會起作用。
Cloudflare 是 DNS 託管商,不是信箱服務商——它負責應答 DNS,但不運行你的收件匣。要讓 Cloudflare 的 DNS 生效,你網域的名稱伺服器(nameservers)(在你註冊網域的地方設定)必須指向 Cloudflare 主控台裡顯示的那兩個 Cloudflare 名稱伺服器。在 Cloudflare 中打開你的網域,查看 **Overview(概覽)**頁面:它會標明 Cloudflare 是否已對該網域生效。如果你的名稱伺服器仍指向註冊商或別的託管商,那麼你在 Cloudflare 裡加的任何東西都不起作用——請改到你 DNS 實際所在的地方去新增 SPF 記錄。
先弄清一件事:是誰在替你傳送郵件?
SPF 必須列出每一個替你網域傳送郵件的服務。常見的有 Google Workspace、Microsoft 365,或託管你信箱的任何服務商。每一家都會公佈一個供你填進 SPF 記錄的值(通常類似 Google 的 include:_spf.google.com,或 Microsoft 365 的 include:spf.protection.outlook.com)。請到你郵件服務商自己的說明頁面去查確切的值——這正是你必須填對的部分。
如果你用 **Cloudflare Email Routing(郵件路由)**來轉發郵件,請注意它會為轉發新增自己的 DNS 記錄,但它並不以你的名義對外傳送郵件——你的 SPF 仍然需要列出你實際用來傳送郵件的那個服務。
Cloudflare 分步操作
- 登入 Cloudflare,在主控台裡選中你的網域。
- 在左側選單中進入 DNS 設定(找 DNS / Records(記錄))。
- 點擊 Add record(新增記錄)。
- 把 **Type(類型)**設為 TXT。
- 在 **Name(名稱)**欄位中填入
@——@表示「網域本身」。不要在這裡填你的完整網域。 - 在 **Content(內容)**欄位中填入你的 SPF 文字。一條典型記錄長這樣:
v=spf1 include:_spf.google.com ~all把include:部分替換成你實際郵件服務商告訴你的那個(些)值。 - TTL 保持 Auto(自動)。
- 點擊 Save(儲存)。
Cloudflare 上人們常踩的坑
- 每個網域只能有一條 SPF 記錄。 你不能有兩條
v=spf1的 TXT 記錄——郵件服務商會判定為損壞。如果已有一條,請編輯它來加入新服務,而不要再建第二條。 - 不要用引號包起來。 Cloudflare 會自行處理引號。直接貼上以
v=spf1開頭的純文字即可。如果你自己加了"符號,可能會得到一條格式錯誤的記錄。 - 名稱填
@,不是你的網域。 如果你填完整網域,Cloudflare 通常會自動把它折回到根網域,但@才是清晰、可靠的選擇。 - 代理(橙色雲朵)與此無關。 SPF 存在於 TXT 記錄中,而 TXT 記錄從不經過代理——TXT 記錄上根本沒有橙/灰雲朵開關需要操心。
~all與-all的區別。~all(軟失敗)表示「未列出的都可疑」;-all(硬失敗)表示「拒收任何未列出的」。在你確認一切都能正常傳送郵件之前先用~all,等確定名單完整後再收緊為-all。- 改動不是即時的。 DNS 更新在全網擴散可能需要幾分鐘到幾個小時不等。
驗證是否生效
儲存記錄並稍等片刻讓它生效後,用本站的免費檢測來核對。它會用通俗的語言告訴你 SPF 記錄是否存在、格式是否正確。
完成了? 免費檢查您的網域 以確認設置已生效——並查看您在全部 34 項檢查中的完整評級。