SPF (Sender Policy Framework) 寄件者政策框架:
SPF 功能是讓收件主機根據寄件者網域 DNS TXT 所宣告的 IP,
跟信件真實來源 IP 比對是否吻合,
如果不符合時收件主機可以決定接收或拒絕或放到垃圾信匣,
主要是避免駭客偽造寄件人網域寄信。

DKIM (DomainKeys Identified Mail) 網域驗證郵件,
用來防止郵件內容遭到竄改:
一種以數位簽章為基礎的電子郵件認證標準,
採用公鑰與私鑰這種加密驗證法進行,
可以防範他人假冒貴公司網域發信,
並避免收信端主機不信任,而將您網域來信視為垃圾信或將其退信。

此機制會在網域寄出的郵件中加入數位簽章,
讓收件方主機能確認郵件確實來自貴公司的信件,
在發送郵件時由寄信主機對郵件以私鑰進行簽章,
而收信主機器會到寄件網域的 DNS 查詢 DKIM 紀錄,
擷取上面記載的公鑰資料,然後對這封郵件做簽章解碼,
如果公鑰與私鑰能配對成功,代表郵件確實為原始發信機所發出。

DMARC (Domain-based Message Authentication, Reporting & Conformance)
輔助 SPF 與 DKIM 的不足:
讓發信端和收信端雙方可確認對方身分,進而降低釣魚信及偽造信件的發生。

設定前需至少須要設定一筆 SPF 或 DKIM 來作為判斷依據。
這是用來讓寄件主機建議收件主機,
當遇到 SPF 與 DKIM 的設定檢查不過時應該如何處理這封信,
例如不採取任何動作Passed)、隔離(Quarantine)或者拒收(Reject等等。


綜合以上三種驗證機制,皆有設定的情境說明如下:
寄件者寫完一封信後,郵件主機會將信件加上 DKIM 私鑰簽章並寄出,
以確保信件傳送過程中不會遭到竄改。

收信主機在接收信件時,
將檢查寄件網域 DNS 的 DKIM 公鑰並與私鑰驗證結果是否相符,
同時,也會驗證 SPF 紀錄
檢查信件真實來源是否符寄件者網域 DNS TXT 所宣告的 IP

最後收件主機依據寄件網域宣告的 DMARC 建議處理,
建議收件主機如檢查信件 SPF、DKIM 驗證未通過時
將信件直接放行、隔離或拒收