公司寄的信一直進垃圾郵件?
SPF、DKIM、DMARC 到底在做什麼

作者:邦邦(瑪尼國際 工程師)· 2026 年 8 月 · 閱讀時間約 8 分鐘

「客戶說沒收到我的報價單。」「網站的訂單通知信不見了。」「寄給某某公司的信被退回來。」這幾句話幾乎每個做生意的人都遇過,而多數人的第一反應是「信箱壞了」或「對方擋我」。

實際上,最常見的原因是你的網域沒有向收信方證明「這封信真的是我寄的」。現在的收信伺服器(Gmail、Outlook、各家企業郵件閘道)預設把來路不明的信當可疑處理——因為冒用網域寄詐騙信實在太容易了。這篇用白話講清楚 SPF、DKIM、DMARC 各自在做什麼、最常見的設定錯誤,以及你自己就能先做的檢查。

先理解一件事:收信方憑什麼相信你?

Email 這套協定設計得很早,早到它原本沒有內建「驗證寄件人」的機制。也就是說,任何人都可以在信裡把寄件人寫成你的公司地址寄出去,就像在信封上隨便寫一個寄件地址一樣。

為了補這個洞,後來才加上三道「附加驗證」,全部都設定在你網域的 DNS 裡——因為只有真正握有網域的人才改得動 DNS,這就成了證明身分的方法。收信方收到信,會去查你的 DNS,看這封信合不合規矩。

一句話理解三者的分工

SPF 管「誰可以用我的網域寄信」、DKIM 管「這封信途中有沒有被動過」、DMARC 管「驗不過的時候要怎麼辦」。三個是互補的,不是三選一。

SPF:授權名單

SPF 是一筆寫在 DNS 裡的 TXT 記錄,內容大意是:「以下這些主機,才有資格用我的網域寄信。」收信方拿到信,看一下是從哪台主機送來的,再對照你的 SPF 名單,不在名單上就扣分。

最常見的錯誤有三種:

  • 漏掉會寄信的系統:公司除了郵件主機,網站的系統通知信、電子報平台、ERP、客服系統可能都會用同一個網域寄信。SPF 只寫了郵件主機,其他就開始被擋。
  • 同一個網域出現兩筆 SPF:規格上只能有一筆。有兩筆時,收信方可能直接判定無效,等於整個 SPF 白設了。要合併成一筆,不是各寫各的。
  • 換主機商後忘記更新:搬家後 SPF 還指著舊主機,新主機寄的信自然不在名單上。

DKIM:數位簽章

SPF 只檢查「從哪來」,不檢查「信有沒有被改過」。DKIM 補的就是這一塊:寄信時,郵件主機用私鑰在信上簽一個章;收信方去你的 DNS 拿公鑰來驗這個章。驗得過,代表這封信確實出自你的網域,而且從寄出到收到之間內容沒被竄改。

DKIM 的好處是它跟著信件走。信件如果被轉寄,SPF 常常會因為「轉寄主機不在名單上」而失效,但 DKIM 的簽章還在、還驗得過,信就不至於被判死。這也是為什麼不能只設 SPF。

DMARC:政策與報告

設好 SPF 和 DKIM 之後,還有一個問題沒回答:萬一驗不過,收信方到底該怎麼處理?放行?丟垃圾匣?直接退回?沒有 DMARC 的話,這件事由對方自己決定,你完全沒有話語權。

DMARC 就是你在 DNS 裡宣告的政策,可以選擇三種態度:先觀察(都放行,但把狀況回報給我)、隔離(可疑的丟垃圾郵件匣)、拒收(直接擋掉)。它還有一個很多人不知道的價值:可以要求收信方回傳報告,讓你看到有誰在拿你的網域寄信——包含你自己忘記的那些系統,以及真的在冒用你名義的人。

DMARC 千萬不要一上來就設最嚴

直接跳到「拒收」是最常見的災難:只要有任何一個會寄信的系統沒被納入 SPF/DKIM,那個系統寄的信就會全部被對方擋掉,而且你不會馬上發現。正確做法是先從觀察模式開始,收幾週報告、確認所有正常寄信來源都驗得過,再逐步收緊。

三者對照

SPFDKIMDMARC
回答的問題誰能用我的網域寄信這封信被動過手腳嗎驗不過要怎麼處理
做法DNS 上列出授權主機私鑰簽章、公鑰驗證DNS 上宣告政策
被轉寄後容易失效通常仍有效依政策處理
沒設的後果來源無法驗證內容無法驗證失敗時任人處置、也收不到報告

你自己可以先做的檢查

不用等工程師,這兩件事你現在就能做:

  1. 寄一封信給自己的 Gmail:從公司信箱寄出,在 Gmail 打開該信,點「顯示原始郵件」,看 SPF 與 DKIM 是不是都顯示 PASS。出現 fail 或 softfail 就是有問題。
  2. 查一下自己的 DNS:用 nslookup -type=TXT 你的網域(Windows)或 dig TXT 你的網域(Mac/Linux),確認 SPF 那筆字串存在,而且只有一筆

如果查出來是 fail、或看到兩筆 SPF,那就找得到問題在哪了。要注意的是,DNS 記錄改壞的代價很高——SPF 少寫一個來源,那個系統的信就全被擋;所以動手前先盤點清楚「公司有哪些東西會用這個網域寄信」,一次納齊再改。

還有這些也會讓信被擋

把 SPF、DKIM、DMARC 設好,解決的是「身分驗證」這一類問題,但不是全部。實務上還會遇到:寄件主機的 IP 進了黑名單(常見於跟大量寄信的人共用主機)、短時間大量寄送觸發對方的頻率限制、以及信件內容本身被判定為推銷。如果驗證都 PASS 了信還是進垃圾匣,方向就要往這幾邊查。

順帶一提,這也是網站搬家最容易出事的一塊——很多人搬完網站才發現信開始漏,因為 MX 和 SPF 沒跟著處理好。

常見問題

Q:為什麼公司寄的信會進到對方的垃圾郵件匣?

多半不是信的內容有問題,而是網域沒向收信方證明身分。SPF、DKIM 沒設或設錯,信就會被判可疑,輕則進垃圾匣、重則退回。其他常見原因還有寄件主機 IP 進黑名單、寄件人位址與實際寄送主機不一致、短時間大量寄送。

Q:SPF、DKIM、DMARC 三個差在哪?

SPF 是授權名單,宣告哪些主機能用你的網域寄信;DKIM 是數位簽章,證明信件出自你的網域且未被竄改;DMARC 是政策與報告,決定驗證失敗時要放行、隔離還是拒收,並可要求回傳報告。三者互補:SPF 管來源、DKIM 管內容、DMARC 管失敗處理。

Q:我可以自己檢查嗎?

可以。從公司信箱寄一封到自己的 Gmail,開信後點「顯示原始郵件」,看 SPF 與 DKIM 是否 PASS;也可以用 nslookup 或 dig 查網域的 TXT 記錄,確認 SPF 存在且只有一筆。出現 fail、softfail 或兩筆 SPF 就要處理。

Q:設定會不會讓現有的信寄不出去?

設定本身不會,改錯會。最常見的意外是漏掉網站通知信、電子報、ERP、客服系統這些也用同網域寄信的來源,SPF 沒納入就會被擋。動手前先盤點所有寄信來源,DMARC 也要從觀察模式開始、確認報告無誤再收緊。

信一直被擋,查不出原因?

把你的網域和狀況告訴我們,我們幫你看 SPF/DKIM/DMARC 的實際設定與退信紀錄,找出到底卡在哪一關。

免費諮詢 →

免費諮詢專線 0800-670000 · 看服務:企業信箱 · 文章總覽

📞 技術支援(24小時):0921-070-027  |  📞 免費諮詢:0800-670000 📍 411 台中市太平區育賢路366號4樓之2  |  ✉ mani@mani.com.tw