2011-07-31 44 views
1

我正在建立一個電子郵件應用程序(一個網絡應用程序,你幾乎全部通過電子郵件進行交互),我希望能夠合理地猜測我的用戶在哪裏從只使用他們的電子郵件標題。 (我堅信網絡服務中的'默認'應該儘可能的聰明!)檢測電子郵件來源國

有沒有人有像現代電子郵件路由的正當知識(即像谷歌,雅虎等超級提供商)有什麼好處關於如何從電子郵件中以合理的準確度提取用戶所在國家的想法,並且如果可能的話,粗略地指示這將是多麼準確,所以如果它不可能是正確的,我可以忽略這個猜測。

想法而已:

  • 時區(隔靴搔癢準確,但很有用)
  • 的電子郵件域名頂級域名(不是很可靠的,我有一個.COM頂級域名,我是英國人)
  • 郵件標題中IP的GeoIP(不確定這是否可行,哪個標題最可靠?)

感謝您的頭部循環!

回答

2

「正常」郵寄

我曾經寫過一個thunderbird plugin其做同樣的,它專門用於頂級域來顯示每條路由的站。一個教訓是,郵件可能會超過10個或更多的服務器,直到它到達收件人。你必須使用第一路由表項:

Received: by mail.cweiske.de (Postfix, from userid 65534) 
    id 1DB83119102DA; Sat, 30 Jul 2011 13:58:30 +0200 (CEST) 
Received: from fmmailgate02.web.de (fmmailgate02.web.de [217.72.192.227]) 
    by mail.cweiske.de (Postfix) with ESMTP id D56F6119102D3 
    for <[email protected]>; Sat, 30 Jul 2011 13:58:18 +0200 (CEST) 
Received: from smtp03.web.de ([172.20.0.65]) 
    by fmmailgate02.web.de (Postfix) with ESMTP id E54B11A74B6A1 
    for <[email protected]>; Sat, 30 Jul 2011 13:57:52 +0200 (CEST) 
Received: from [84.185.130.22] (helo=[192.168.178.21]) 
    by smtp03.web.de with asmtp (WEB.DE 4.110 #2) 
    id 1Qn88O-0006jw-00 
    for [email protected]; Sat, 30 Jul 2011 13:55:14 +0200 

在這種情況下,發件人是84.185.130.22 - 對IP使用whois給我們(正確),德國作爲郵件的來源。

另一個例子中,只有第一項:

Received: from carnot.localnet (ip-118-90-104-106.xdsl.xnet.co.nz 
[118.90.104.106]) 
by ananke.wxnz.net (Postfix) with ESMTP id D758D17002B 
for <[email protected]>; 
Sun, 31 Jul 2011 10:08:57 +1200 (NZST) 

甚至包含.nz爲解決主機名 - 這一次正確的新西蘭。 whois也給你新西蘭。

的webmail

你不得不檢查,如果從即Gmail網絡郵件界面也包含正確的IP,我懷疑。從Gmail中的例子:

Received: from mail-wy0-f179.google.com (mail-wy0-f179.google.com [74.125.82.179]) 
    by mail.cweiske.de (Postfix) with ESMTP id A739A11910543 
    for <[email protected]>; Wed, 23 Jun 2010 23:05:42 +0200 (CEST) 
Received: by wyb38 with SMTP id 38so1740851wyb.24 
     for <[email protected]>; Wed, 23 Jun 2010 14:05:42 -0700 (PDT) 

發件人IP是完全缺少在這裏,你會得到的唯一信息是來自谷歌的郵件服務器的IP地址。時區也有服務器的區域,而不是客戶的時區 - 它將是+02:00。

結論

最後,沒有信號給你100%的準確率,你必須使用他們。另外,電子郵件中的每一位都可能僞造 - 不要忘記這一點。

+0

非常好的回覆!是的,完全有可能一切都是僞造的,這就是爲什麼我正在努力不僅找到一個原籍國,而且對結果有一定的信心。我認爲我需要建立一個垃圾郵件賬戶,並要求來自世界各地的朋友通過他們自己的服務與他們目前的國家發送電子郵件。你的建議非常好,我會保持你的發佈! –

2

另一種替代方法是向他們發送一封確認/驗證電子郵件,其中包含一個HTML圖像,該圖像通過特殊標識從遠程服務器加載。如果用戶啓用了HTML郵件,那麼他們將下載圖像,從而向您的服務器發送適當的信息(例如,他們的IP),供您進行地理位置查找。

或者,如果您的服務器無法正確確定其來源國,您可以要求他們單擊輔助確認鏈接。

相關問題