2012-12-14 47 views
1

從我一直在讀的SPF可用於通過發送命令(而不是實際的電子郵件),以驗證電子郵件地址,如HELO是真實的,在使用中。我已經成功地拿起政策的基本掌握,但我不能讓我的頭圍繞如何我着手解決以下問題:如何驗證電子郵件地址,利用發件人策略框架

我有附着在接觸了一些電子郵件地址一個CRM系統,我想知道這些電子郵件地址是否有效並仍在使用中。

目前我們使用的是REST Web服務(http://emailinspector.co.uk/),它返回「OK」(如果它的ok ... duh),「Bad」(如果它無效或未使用)或「Unknown」。對於Unknown,您還會提供一些說明,說明爲什麼它回來了,即告訴您郵箱是否已滿或其知名DEA。

我希望能夠編寫一個腳本,可以複製此功能,並從我已經計算出它應該使用的發件人策略框架來做到這一點?問題是我不知道如何去回覆這些「未知」電子郵件地址的精確信息。

思路和想法?

回答

1

其實SPF只是一個文本記錄,以及一些「暗示」,讓你知道,如果一個IP地址或郵件服務器「允許/授權」發送電子郵件爲該域。它不會告訴你在該領域的個人電子郵件地址什麼..

例如

[[email protected]:~] host -t txt labratsoftware.com 
     labratsoftware.com descriptive text "v=spf1 a -all" 

的SPF記錄我的領域之一說,只有域的一個記錄被授權爲labratsoftware.com發送電子郵件,如果它不是來自該IP,那麼它應該被拒絕(-all)。

因此,您可以用SPF做的最好的事情是告訴收到的電子郵件來自授權主機,然後使用該信息來幫助決定是否要拒絕它。

要測試你的電子郵件地址的有效性的最好方法,就是發電子郵件,看看它反彈。您可以使用VERP(http://en.wikipedia.org/wiki/Variable_envelope_return_path)等選項來自動執行反彈處理。您還可以嘗試連接到爲該域列出的MX記錄,並嘗試以這種方式傳遞消息。一些郵件服務器支持驗證(但大多數管理員禁用此功能以防止信息泄漏)。您可以使用RCPT TO來查看服務器是否接受它,但即使這樣做,您也無法知道它是否真的將其放入INBOX中。我的猜測是你正在使用的API在做什麼。而未知的只是那些不回答,灰名單等。