2013-01-10 60 views
-5

不要投下我的問題。電子郵件標題分析儀

我正在創建類似於此頁面的工具http://www.iptrackeronline.com/email-header-analysis.php用於分析電子郵件標題。

我正在使用正則表達式獲取用戶的ip地址。但是'Received'頭部分有很多ip地址,我想忽略所有其他的ip地址並獲得用戶的原始ip地址。

樣品電子郵件標題:IP - 70.183.59.6

Return-path: <[email protected]> 
Received: from mac.com ([10.13.11.252]) 
    by ms031.mac.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 
    2007)) with ESMTP id <[email protected]> for [email protected]; Thu, 
    09 Aug 2007 04:24:50 -0700 (PDT) 
Received: from mail.dsis.net (mail.dsis.net [70.183.59.5]) 
    by mac.com (Xserve/smtpin22/MantshX 4.0) with ESMTP id l79BOnNS000101 
    for <[email protected]>; Thu, 09 Aug 2007 04:24:49 -0700 (PDT) 
Received: from [192.168.2.77] (70.183.59.6) by mail.dsis.net with ESMTP 
    (EIMS X 3.3.2) for <[email protected]>; Thu, 09 Aug 2007 04:24:49 -0700 
Date: Thu, 09 Aug 2007 04:24:57 -0700 
From: Frank Sender <[email protected]> 
Subject: Test 
To: Joe User <[email protected]> 
Message-id: <[email protected]> 
MIME-version: 1.0 (Apple Message framework v752.2) 
X-Mailer: Apple Mail (2.752.2) 
Content-type: text/plain; charset=US-ASCII; format=flowed 
Content-transfer-encoding: 7bit 

如果您知道的任何電子郵件分析器可以獲取IP地址,然後給我的鏈接。

+0

使用正則表達式來區分標題。 – ethrbunny

回答

1

我實際上認爲沒有正則表達式會更容易:這些頭文件被組織爲行,所以遍歷從上到下的行並根據行的第一個字存儲行。

Received:標題總是處於相反的順序,即從上到下讀取最後一個你會遇到的服務器最接近發件人。這意味着如果你只需要它Received:記錄,你可以將它作爲單個條目存儲,覆蓋之前遇到的那些條目。

最後一個注意:如果標題包含一個X-Originating-IP標題,該標題將包含實際發件人的IP地址。