SPF, 是 Sender Policy Framework 的簡稱. 它是設計用來檢查寄方的信是否為該網域指定的合法 IP 來源, 用以判斷是否為假冒網域的垃圾信件.
設定 SPF 的方法必須到 DNS的記錄裡設定一筆以父系網域為名的 TXT 記錄, 內容為一字串, 用以指定哪些 IP 為合法來源IP或記錄.
舉例:
以小弟的網域 raidenmaild.com 為例, 先從 https://ipaddress.com 找出自己對外的網路IP
然後要設定 raidenmaild.com 的 TXT 記錄, 內容為
"v=spf1 a mx ip4:1.34.128.32 ~all"
可定義的參數內容有
- all 符合任何主機,它寫在 SPF 記錄最後以符合在其前面所列出的主機。
- ip4 符合 IPv4 位址或網路範圍。
- ip6 符合 IPv6 位址或網路範圍。
- a 符合主機名或域名。
- mx 符合域名的 MX 記錄,一般企業郵件進出都是同一台的時候都會指定此參數。
- include 包含另一個 SPF 記錄。
- redirect 重新導向另一個 SPF 記錄,要注意這個參數等於放棄你本身 SPF 設定。
特別要注意的是 all 的前綴描述
- +all: 信件預設都放行。
- –all: 硬性拒絕,拒絕來自非合法IP來源的郵件。
- ~all: 軟性拒絕,郵件可被接受,也可被標記為垃圾郵件被進行後續處理。(此為建議值)
- ?all: 沒有任何規則需求。
註: 找 ISP 做代寄是不得已的解決辦法,因為當您可利用別人家的 IP 寄出信件並且被收方認定是合法的,同樣的,別人也能用同樣方式假冒您的網域從這些地方寄出,然後被別人同樣認定是合法的,故小弟會建議當您的 IP 名聲回復後,就把這額外 SPF 設定拿掉,並且停止代寄設定。