首先宣告,spf記錄其實是dns上的一條txt記錄
spf是跟dns相關的一項技術,它的內容寫在dns的txt型別的記錄裡面。mx記錄的作用是給寄信者指明某個網域名稱的郵件伺服器有哪些。spf的作用跟mx相反,它向收信者表明,哪些郵件伺服器是經過某個網域名稱認可會傳送郵件的。任何組織或者企業一般都會有乙個郵件伺服器。倘若這個伺服器開啟了spf且接收到了郵件,那麼就會按照如下流程工作。
1.當前郵件伺服器接收到了一封郵件,郵件頭內容是聲稱ip為123.123.123.123,發件人為[email protected]。每條spf記錄開始都會是:2.這時候郵件伺服器就會去查詢cow.com的spf記錄看是否允許123.123.123.123這個ip發郵件。根據spf記錄值作出後續的決斷例如是否攔截。
v=spf1
且都會有自己的字首,預設是"+"。
字首意義
「+」pass(通過)
「-」fail(拒絕)
「~」soft fail(軟拒絕)
「?」neutral(中立)
例如下圖為乙個攔截例項:表示所有 ip,肯定會命中。因此通常把它放在 spf 記錄的結尾,表示處理剩下的所有情況。例如:
「v=spf1 -all」拒絕所有ip傳送郵件,或者說這個網域名稱不會發郵件。
「v=spf1 +all」
接受所有
「v=spf1 ip4:123.123.123.1/24 -all」格式和ip4的很類似,例如:只允許在 123.123.123.1 ~ 123.123.123.255 範圍內的 ip
「v=spf1 ip6:1080::8:800:200c:417a/96 -all」
只允許在 1080::8:800:0000:0000 ~ 1080::8:800:ffff:ffff 範圍內的 ip
這倆的格式是相同的,以a為例,格式為以下四種之一:
aa/x #這個x就類似於123.123.123.123/23中的23.
允許當前網域名稱的mx記錄對應的所有ip位址,也可以說是當前網域名稱的郵件伺服器發出的所有郵件都是合法的,只要查詢郵件伺服器ip進行判斷就好。
「v=spf1 mx mx:demo.test.com -all」允許當前網域名稱和 demo.test.com 的 mx 記錄對應的ip位址。
「v=spf1 a/24 -all」上圖就表示此網域名稱發去出去的ip為123.59.170.202與後面的那個ip這兩個是合法的。其餘的生成是此網域名稱發出去的都軟拒絕。類似地,這個用法則允許乙個位址段。
格式為include:test.com,表示引入test.com網域名稱下的spf記錄,如果該網域名稱下不存在 spf記錄,則會出現乙個permerror結果。例如:
「v=spf1 include:test.com -all」 繼承test.com的spf記錄。格式為exp=test.com,目的是如果郵件被拒絕,可以給出乙個訊息。而訊息的具體內容會首先對test.com執行txt查詢,然後執行巨集擴充套件得到。
格式為redirect=test.com
類似於include。
++spf相關的介紹在這裡就結束了++++在無spf的前題下++
假設a的郵箱為[email protected],郵件伺服器為mail.test.com,主機名為xiaokeai。此時a給b發了封郵件內容如下假設b的郵箱為[email protected],郵件伺服器為mail.demo.com,主機名為fffff。
from: [email protected]date: …
x-mailer: outlook
subject: hello
received: from xiaokeai(xiaokeai [xiaokeaid的ip]) by mail.test.com (8.8.5) id 004a21; tue, mar 18 2003 14:36:17 -0800 (pst)這時候mail.test.com把郵件又**了mail.demo.com,這時候郵件頭變為了:from: [email protected]
date: …
x-mailer: outlook
subject: hello
received: from mail.test.com (mail.test.com [mail.test.com的ip]) by mail.demo.com (8.8.5/8.7.2) with esmtp id laa20869 for [email protected]; tue, 18 mar 2003 14:39:24 -0800 (pst)這時候b就可以看自己的mail.demo.com這個郵件伺服器上a發給自己的郵件了。received: from xiaokeai(xiaokeai [xiaokeaid的ip]) by mail.test.com (8.8.5) id 004a21; tue, mar 18 2003 14:36:17 -0800 (pst)
from: [email protected]
date: …
x-mailer: outlook
subject: hello
++from mail.test.com(mail.test.com[ip])++這句話表示,有郵件聲稱是mail.test.com傳送來的,看了看郵件的ip後發現確實是。
++with esmtp id laa20869++郵件的id號。
++by mail.test.com (8.8.5)++表示郵件伺服器執行的程式的版本號。
參考email郵件頭詳解
快速讀懂郵件頭資訊
快速讀懂郵件頭資訊 有時候我們在管理郵件伺服器是會收到一些奇奇怪怪的郵件,這時候就要去分析郵件頭,好知道詳細情況,而天書般的郵件頭內容,就算是專業人士看起來也會頭痛,那麼有沒有一種快速簡便的方法能讀懂郵件頭呢?答案是有的,ip address 就能幫你解決這類問題。一 獲取郵件頭內容 首先開啟乙個 ...
快速讀懂郵件頭資訊
快速讀懂郵件頭資訊 有時候我們在管理郵件伺服器是會收到一些奇奇怪怪的郵件,這時候就要去分析郵件頭,好知道詳細情況,而天書般的郵件頭內容,就算是專業人士看起來也會頭痛,那麼有沒有一種快速簡便的方法能讀懂郵件頭呢?答案是有的,ip address 就能幫你解決這類問題。一 獲取郵件頭內容 首先開啟乙個 ...
快速讀懂郵件頭資訊
快速讀懂郵件頭資訊 有時候我們在管理郵件伺服器是會收到一些奇奇怪怪的郵件,這時候就要去分析郵件頭,好知道詳細情況,而天書般的郵件頭內容,就算是專業人士看起來也會頭痛,那麼有沒有一種快速簡便的方法能讀懂郵件頭呢?答案是有的,ip address 就能幫你解決這類問題。一 獲取郵件頭內容 首先開啟乙個 ...