2012-01-27 44 views
2

可能重複:
how to confirm email source如何確認收到的電子郵件的發件人?

我想知道怎麼做電子郵件服務如Hotmail和雅虎證實,「從」頭沒有被欺騙。我的意思是,你沒有試圖代表其他人發送電子郵件。

我現在試圖欺騙Facebook郵件,使用php腳本發送電子郵件到我的@ facebook.com電子郵件,欺騙「發件人」。我代表那個朋友帳戶收到了它。但是,提醒說「無法確認 - 朋友姓名 - 作爲發件人」。出現了。

Facebook(和其他服務)做什麼來確認?

請注意,擴展名([email protected])不適用於我。我的想法是模擬與Facebook郵件支持電子郵件類似的東西。

我相信只是檢查標題是不夠的。我想我必須檢查DNS/SPF的內容,但我不知道該怎麼做,甚至要做什麼。

這將幫助我分配,如果你可以指示我一些「算法」(優先在PHP)與步驟來檢查欺騙。謝謝!

回答

1

作爲域名所有者,您可以在您的DNS區域實施SPF。它允許您設置允許代表您的域名發送郵件的服務器的IP地址。如果另一個IP試圖發送包含您的域名作爲發件人的郵件,它將被任何檢查SPF的郵件服務器拒絕(幸運的是,越來越多的人開始這麼做!)。從來沒有一個硬性的保證,即沒有人會將冒充的郵件從你的名字中刪除,但它大大降低了機會。

+0

我明白了。但是,是否允許IP欺騙?我的意思是,你使用SPF記錄中包含的一種欺騙「From」並欺騙IP。謝謝。 – Nuno 2012-01-27 13:54:03

+1

一般來說,你不能在TCP連接上欺騙你的IP地址 - 你連接的服務器必須知道真正的IP地址來發回它的一半連接。 – jcoder 2012-01-27 13:59:20

+0

啊!那很好。所以我需要在我的php腳本中做的是檢查IP並查看它是否列在From域的SPF記錄中,這就是全部?請跟我確認一下。謝謝你的有用答案! – Nuno 2012-01-27 14:05:53

1

正如Oldskool所建議的,SPF是一種廣泛用於檢測僞造From(和回覆)地址的方法 - 但是大多數電子郵件提供商使用更大範圍的檢查來隔離來自火腿的垃圾郵件。

Spamassassin是一個開源項目,提供了一個管理程序和一組插件(以及一個用於開發自己的API),包括用於驗證電子郵件的SPF。

+0

所以,我現在好奇。如果我的cPanel有Spamassassin,我可以直接從那裏直接自動刪除「無效」消息,這樣我就不必擔心檢查管道郵件的PHP部分了嗎?或者,這不是一個好主意(甚至可能)嗎?謝謝! – Nuno 2012-01-27 14:55:28

+0

否 - 您想保留和管理您的垃圾郵件以訓練貝葉斯過濾器。 – symcbean 2012-01-30 08:59:18