首先從TidMessage中獲得郵件的頭信息:
strHeader:=aIdMessage.Headers.text;
然后,用正則表達式取出Received:
vReceiveIP:=GetNeedStrByPerlReg(strHeader,'(Received:)(.+)(])');
再取出X-Originating-IP:
??? vOriIP:=GetNeedStrByPerlReg(strHeader,'(X-Originating-IP:)(.+)(])');
再取出方括號[]中的IP地址,這樣就會獲得兩個IP,根據這兩個IP查詢IP地址數據庫可以判斷出郵件的來源。
注意,并不是所有郵件都會有這兩個信息,并且有時這兩個IP信息也可能是假的,關于具體的判斷是比較復雜的,這里只是一個簡單的辦法,并且得出的結果僅供參考。
具體郵件來源的判斷,請參考引用的一篇文章:
http://garfieldtom.spaces.live.com/blog/cns!7FAB2A2238E574BC!431.entry