全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1100
推到 Plurk!
推到 Facebook!

如何截取出SMTP 的郵件資訊?

尚未結案
gaui
一般會員


發表:25
回覆:36
積分:12
註冊:2004-06-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-03 09:10:02 IP:61.59.xxx.xxx 未訂閱
請問: 我現在要寫一隻分析由mail server上記錄郵件往來的txt檔, 顯示寄送郵件成功和失敗的次數, 但因為txt檔中每封郵件的資訊不儘相同, 只能抓出幾個關鍵字, 例如:每次郵件收發的開頭與結尾是------- ------- SMTP session successful代表收信成功 Accepting smtp connection from 後的是寄件者 RCPT To:後的是收件者, 所以我想應該是先截取出------ ------間的資訊, 再以關鍵字搜尋, 得到所要的資訊, 所以想請問各位先進們,我要如何截取出------ ------當中的資訊呢 還有,要如何以關鍵字截取我需要的資訊呢?
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-03 09:33:04 IP:203.69.xxx.xxx 未訂閱
妳去查查看它裏面是不是MIME TYPE的東東。 如果是。那就得用MIME DECODE。
gaui
一般會員


發表:25
回覆:36
積分:12
註冊:2004-06-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-03 10:23:40 IP:61.59.xxx.xxx 未訂閱
---------- Mon 2004-11-01 00:01:14:  Mon 2004-11-01 00:01:26: Session 3832; child 3; thread 1224 Mon 2004-11-01 00:00:49: Accepting SMTP connection from [68.56.225.94 : 4063] Mon 2004-11-01 00:00:49: Looking up PTR record for 68.56.225.94 (94.225.56.68.IN-ADDR.ARPA) Mon 2004-11-01 00:00:49: D=94.225.56.68.IN-ADDR.ARPA TTL=(720) PTR=[pcp858737pcs.ptchar01.fl.comcast.net] Mon 2004-11-01 00:00:49: Gathering A-records for PTR hosts Mon 2004-11-01 00:00:49: D=pcp858737pcs.ptchar01.fl.comcast.net TTL=(105) A=[68.56.225.94] Mon 2004-11-01 00:00:49: --> 220 mail2.wieson.com ESMTP MDaemon 7.0.1; Mon, 01 Nov 2004 00:00:49 +0800 Mon 2004-11-01 00:00:50: <-- HELO elton.net.au Mon 2004-11-01 00:00:50: Performing lookup on elton.net.au (looking for 68.56.225.94) Mon 2004-11-01 00:01:00: 10 second wait for DNS response exceeded  Mon 2004-11-01 00:01:10: 10 second wait for DNS response exceeded  Mon 2004-11-01 00:01:10: --> 250 mail2.wieson.com Hello pcp858737pcs.ptchar01.fl.comcast.net, pleased to meet you Mon 2004-11-01 00:01:11: <-- MAIL FROM:  Mon 2004-11-01 00:01:11: Performing lookup on elton.net.au (looking for 68.56.225.94) Mon 2004-11-01 00:01:11: D=elton.net.au TTL=(29) A=[203.147.239.145] Mon 2004-11-01 00:01:17: P=100 D=elton.net.au TTL=(29) MX=[bne004m.server-mail.com] {202.139.235.79} Mon 2004-11-01 00:01:17: P=050 D=elton.net.au TTL=(29) MX=[bne007m.server-mail.com] Mon 2004-11-01 00:01:17: P=010 D=elton.net.au TTL=(29) MX=[eltontech.dyndns.org] Mon 2004-11-01 00:01:17: D=elton.net.au TTL=(29) A=[203.147.239.145] Mon 2004-11-01 00:01:17: D=elton.net.au TTL=(29) A=[203.147.239.145] Mon 2004-11-01 00:01:17: --> 250 , Sender ok Mon 2004-11-01 00:01:20: <-- RCPT TO:  Mon 2004-11-01 00:01:20: --> 250 , Recipient ok Mon 2004-11-01 00:01:21: <-- DATA Mon 2004-11-01 00:01:21: Creating temp file (SMTP): d:\mdaemon\temp\md50000003329.tmp Mon 2004-11-01 00:01:21: --> 354 Enter mail, end with . Mon 2004-11-01 00:01:25: Message creation successful: d:\mdaemon\inbound\md50000015976.msg Mon 2004-11-01 00:01:25: --> 250 Ok, message saved Mon 2004-11-01 00:01:26: <-- QUIT Mon 2004-11-01 00:01:26: --> 221 See ya in cyberspace Mon 2004-11-01 00:01:26: SMTP session successful (Bytes in/out: 3087/345) Mon 2004-11-01 00:01:26: ---------- 以上是txt檔每幫郵件傳送的內容
microbean
初階會員


發表:1
回覆:43
積分:38
註冊:2004-04-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-03 11:38:32 IP:210.58.xxx.xxx 未訂閱
Hi ! gaui 給你一些提示 , 你正在做 parsing 的事情 , parsing 有時會因為效能而改變 parsing 的邏輯 . 所以可能要先清楚知道 , 你最後要的資訊是什麼 ? 如果你只是要知道成功與失敗的"次數" , 會建議你 , 直接去 parsing keyword , 例如 : SMTP session successful ... 如果你要 parse 出所有的欄位後再統計 , 那可能要用 SMTP 的協定來 parse http://www.faqs.org/rfcs/rfc821.html (SMPT rfc 821) 所以如果要用 smtp 來解 , 用 ---------- 來作為起始或結束 的分段, 然後依序解出每個指令溝通是否成功 , smpt 指令的溝通過程中, 你會發現回應都有 3 位數的回應碼,並且後面一定有空白 , 所以, 你可以簡單的用 2xx , 3xx , 來判定成功 , 把其他的視為失敗(例如 5xx) 如果某一個指令 已經遇到不是 2xx , 3xx 就代表寄送或接收失敗了 就可以停止往下 parse , 但如果你仍要剩下的資訊就繼續往下走 另一個有可能可以使用的 keyword 是 "-->" 或 "<--" , 先找到 --> 在找回應碼 , 所有的回應碼都是 2xx , 3xx 就是成功 ,所以可以是先確定是否成功 , 再去解個別的欄位 . parsing 的方法有很多種 技巧變化也很大 , 希望以上的訊息有幫助 _= 沒事就 winsock 一下 =_
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-04-26 13:51:24 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-19 9:43:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!