现有如下邮件头:
X-Originating-IP: 119.40.0.59
From: [email protected]
Subject: =?GB2312?B?eHp5MTY4o6zAtNfUseCzzMLbzLO1xNDCxOrXo7ij?=
To: [email protected]
Content-Type: text/html
Sender: [email protected]
Date: Fri, 19 Dec 2008 03:14:18 +0800
X-Priority: 3
Message-Id: <[email protected]>除了X-Originating-IP值即IP地址我无法获取外,其它的都可以获取的,
如:Message-Id 可用:MimeMessage.getMessageID()取到,
可X-Originating-IP不知道有没相应方法呢?有的话是那个呢,没有的话,有没好办法取呢?
注:当然可以把整个邮件头当作字符串来查到IP值,但这样方法感觉不是很好,效率也不高,有没办法快速最好一行代码搞定的方法呢?请大侠们指教,最好能贴上相应的代码,谢了!

解决方案 »

  1.   

    呵,自己解决了,原来被getMessageID()给误导了,以为也应该是get...之类的来获取,而实际情况是:
    IP并非必需要有的字段,故javamail没有写相应的方法来获取,但javamail使用了通用方法,getHeader("...")来取
    某字段值,如getHeader("X-OriginaIP")[0]来取IP值.
    自己解决了,那分怎么办呢?这样吧,改为相关问题,IP值已获取成功,我想通过IP能获取IP所在城市,怎么做呢?
    本人也刚开始研究,大家提提建议吧,方法很多的,我也想了几种,想听听各位怎么想的.
      

  2.   

    http://www.blogjava.net/alvin/archive/2007/08/23/141139.html
    这个对你应该有帮助,而且IP库在我们的下载区有下的