SPF是Sender Policy Framework 的縮寫,中文譯為傳送方策略框架。主要作用是防止偽造郵件地址。

相信不少使用者遇到過這樣的情景:收到的垃圾郵件顯示的發件人地址竟然是自己!很多人都會問這是怎麼回事呢?原因,就是由於傳送電子郵件的傳統規範 - 1982年制定的《簡單郵件傳輸協議(SMTP)》對發件人的郵件地址根本不進行認證,導致垃圾郵件製造者可以隨意編造寄件人地址來傳送垃圾信,而接收者則毫無辦法,因為你無法判斷收到的郵件到底是誰寄來的。
為解決這個問題,Pobox公司研發出能防止偽造郵件的“寄件人來源認定(SPF)”技術,該技術得到了多個郵件系統運營商的支援,並有望成為反垃圾郵件的技術標準。
在SPF體系中,每個需要傳送電子郵件的企業在其對外發布的DNS域名記錄中,列出自己域名下需要傳送郵件的所有IP地址段;而接收到郵件的伺服器則根據郵件中發件人所屬的域名,查詢該企業釋出的合法IP地址段,再對照傳送郵件的機器是否屬於這些地址段,就可以判別郵件是否偽造的。
由於該技術推廣需要相當的時間,目前相當部分的企業郵件伺服器都還沒有按照SPF技術,來發布本域名的合法地址段,對於這種情況,SPF規範允許接收伺服器設定一個預設的處理規則。通常接收方伺服器會假設:合法的郵件都應由他們的郵件伺服器或網站伺服器寄出;而對於從其它計算機寄出的郵件,由於前述SMTP協議存在允許隨意編造寄件人地址的問題,在沒有查詢到寄件人地址對應企業通過DNS釋出的合法IP地址段記錄時,伺服器無法證實其合法性,只能將其視為垃圾郵件予以拒絕。
例如:郵箱alex@126。com的使用者通過126.com的郵件伺服器220.181.15.43向我們的郵件系統發信,我們通過域名解釋服務查詢域名126.com釋出的IP地址段,發現有兩條:220.181.12.0/22和202.108.5.0/24,包含220.181.15.43,因此判定這封郵件是真實的;假如該使用者從其他地址傳送郵件,那麼我們探測到的發件機器IP就很可能不屬於上述兩個地址段,將被判為假冒郵件。
看完以上解釋,大家應該明白:通過正規郵件服務提供商的郵件伺服器寄發的電子郵件都可以被正常接收,而不通過郵件域名對應的郵件伺服器中轉,由使用者本機直接向我臺郵件系統寄發的電子郵件,就會被當作垃圾郵件遭到拒絕!雖然這樣帶來了一定的不便,但為了支援SPF技術體系的建立,打擊垃圾郵件傳送的行為,大家難免要作出一定的犧牲。請告訴要給你傳送郵件的朋友,做一個“負責任”的電子郵件使用者,使用他的郵箱對應的郵件伺服器來寄發電子郵件吧!

需先在域名系統 (DNS) 中設定TXT記錄,SPF記錄了經過授權的郵件傳送伺服器,郵件接收系統會檢查郵件是否來自經過正確授權的電子郵件傳送伺服器,檢查步驟如下:
1、傳送人向接收方傳送一封電子郵件。
2、郵件接收伺服器接收電子郵件並執行如下操作:
a.檢查哪一個域聲稱傳送了該郵件並檢查該域的SPF 記錄的DNS。
b.確定傳送伺服器的IP地址是否與SPF記錄中的某個已釋出IP 地址相匹配。
c.對電子郵件進行打分:如果 IP 地址匹配,則郵件通過身份驗證並獲得一個正分。如果 IP 地址不匹配,則郵件無法通過身份驗證並獲得一個負分。然後,對現有的防垃圾郵件篩選策略和啟發式篩選應用這些結果。

查詢TXT記錄的方法:
下面是查詢21cngd.cn域名TXT記錄的方法,根據查詢結果來看,21cngd.cn的傳送郵件伺服器的合法IP是218.107.207.72:
C:>nslookup
Default Server: cache-a.guangzhou.gd.cn
Address: 202.96.128.86
> set q=txt
> 21cngd.cn
Server: cache-a.guangzhou.gd.cn
Address: 202.96.128.86

Non-authoritative answer:

21cngd.cn text ="v=spf1 ip4:218.107.207.72 ~all"。

如何增加SPF記錄
  其實就是增加域名的TXT記錄,進入域名解析後臺新增一項TXT記錄,比如21cn企業郵箱的SPF:v=spf1 include:corp.21cn.com -all就可以了