pythonの正規表現モジュールを使って、メールヘッダ内にあるReceivedから情報を取ってみる。
from …. byの間に、HELO、逆引き名、IPアドレスを取得できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ python Python 2.5.2 (r252:60911, Oct 5 2008, 19:24:49) [GCC 4.3.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> f = open('./MAIL/trash/1189','rb') >>> data = f.read() >>> import email >>> import feedparser >>> import re >>> p = email.Parser.FeedParser(email.message.Message) >>> p.feed(data) >>> pc = p.close() >>> for item in pc.items(): ... a = re.match(r'^from (.*)((.*)[(.*)].*', re.sub('n','',item[1])) ... if a != None: ... a.groups() ... a = re.match(r'^from (.*)(HELO (.*)).*((.*)).*', re.sub('n','',item[1])) ... if a != None: ... a.groups() ... ('10.236.62.152 (EHLO opEXCC02.tp.gk.corp.tepenet) ', '', '10.236.62.152') ('OPEXCV08.tp.gk.corp.tepenet ', '', '10.236.62.25') |
それらしき値が取れているけど、もちっと考えないと使えない。今日はここまで。ふぅ。
参考サイト