1、什么是SPF記錄?SPF是 Sender Policy Framework的縮寫,SPF是跟DNS相關的一項技術,它的內容寫在DNS的txt類型的記錄里面。mx記錄的作用是給寄信者指明某個域名的郵件服務器有哪些。SPF的作用跟mx相反,它向收信者表明,哪些郵件服務器是經過某個域名認可會發送郵件的。
由定義可以看出,SPF的作用主要是反垃圾郵件,主要針對那些發信人偽造域名的垃圾郵件。 假如Aol.com的一個真實發件人給pobox.com發送一封郵件,pobox檢查aol的SPF記錄,以確定這封郵件是否是從AOL許可的機器上發送的。(這封郵件的來自的IP地址是否在AOL的SPF記錄中)。如果是,則pobox將允許這封郵件通過。 相反,若有人假冒AOL發送郵件給pobox,pobox檢查AOL的SPF記錄,發現發件者IP并不再記錄中,這封郵件將被阻斷。
通過設置SPF記錄,可以阻止其他用戶偽造你的域名進行發送添加SPF記錄的方法: 這方法很簡單,只要我們的DNS供應商提供的管理界面中可以添加SPF記錄就可以設置了(不是所有的供應商都會單獨提供spf,大部分的域名商都沒有單獨給出spf類型,都是用txt記錄類型來代替)。設置時,在域名的“DNS解析”里,添加一條新記錄,DNS記錄類別請選擇“TXT記錄”,內容填寫 SPF字符串,然后點“保存”即可。 spf字符串的格式一般如 "v=spf1 ip4:106.120.108.0/24 ~all" spf字符串分三部分: (1)v=spf1 說明是一個SPF的v1記錄 (2)ip4:67.202.107.106 說明郵件會從此聲明IPv4地址發出。它可以是一個IP,或一個IP段。如果有多個IP或多個IP段的話,可以聲明多個ip4記錄(如“ip4:1.0.1.0/24 ip4:1.0.2.0/24″),每個ip4記錄間用空格分隔。另外,除了用IPv4外,還可以有如下選擇: 1) ip6: 使用IPv6 進行驗證。 2) a: 使用一個域名進行驗證。這將引起對域名服務器進行一次A RR 查詢。可以按照a:domain, a:domain/cidr 或a/cidr 的形式來使用。 3) mx: 使用DNS MX RR 進行驗證。MX RR 定義了收信的MTA,這可能和發信的MTA 是不同的,這種情況基于mx 的測試將會失敗。 可以用mx:domain, mx:domain/cidr 或mx/cidr 這些形式進行mx 驗證。 4) ptr: 使用域名服務器的PTR RR 進行驗證。這時,SPF 使用PTR RR 和反向圖進行查詢。如果返回的主機名位于同一個域名之內,就驗證通過了。這個參數的寫法是ptr:domain 5) exist: 驗證域名的存在性。可以寫成exist:domain 的形式。 6) ext: 定義對type 的可選擴展。如果沒有這個字段,那么僅使用單個記錄進行問詢。 7) mod: 這是最后的類型指示,作為記錄的一個修正值。修正值 描述: redirect 重定向查詢,使用給出的域名的SPF 記錄。 以redirect=domain 的方式使用。 exp 這條記錄必須是最后一條,允許給出一條定制的失敗消息。 IN TXT “v=spf1 mx -all exp=getlost.example.com” getlost IN TXT “You are not authorized to send mail for the domain” (3)-all 定義匹配時的返回值,可有如下選擇: 1) + 缺省值。在測試完成的時候表示通過。 2) – 表示測試失敗。這個值通常是-all,表示沒有其他任何匹配發生。 3) ~ 表示軟失敗,通常表示測試沒有完成。 4) ? 表示不置可否。這個值也通常在測試沒有完成的時候使用。 所以"v=spf1 ip4:67.202.107.106 ~all"的意思是這個域只有67.202.107.106這個IP可以發郵件出來,其他IP的都是非法的。 如果有多個ip 中間可以用空格:"v=spf1 ip4:67.202.107.106 ip4:67.202.107.107 ~all" 也可以是一段ip或者是多個段的ip "v=spf1 ip4:67.202.107.0/24 ip4:67.202.106.0/24 ~all" 個人推薦 "v=spf1 ip4:67.202.107.0/24 ~all" 下面網頁可以用來幫助您驗證域名的 SPF記錄是否存在:
http://www.kitterman.com/spf/validate.html
http://www.vamsoft.com/spfcheck.asp
另外,也可以通過 nslookup 來查看某個域名的spf記錄,例如:
在dos命令窗口: nslookup -q=txt jsjlt.com
驗證是否有問題:
添加spf后,用郵箱給gmail發一封郵件, 登錄gmail后,查看收到的郵件的郵件頭,如果看到 pass spf 的字樣,說明spf被驗證通過,說明你的spf設置沒有問題。
|