線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2718
推到 Plurk!
推到 Facebook!

有什么构件可以解析MIME?

尚未結案
KFC
一般會員


發表:43
回覆:73
積分:23
註冊:2003-03-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-08 18:04:33 IP:210.77.xxx.xxx 未訂閱
如果我给出了邮件的MIME,有没有什么构件可以解析它?我试过TNSMTP构件,并将TNSMTP.postmessage.body设为MIME信息。我发现该构件不会将MIME中的各项(例如Subject, From, To, Content-Type等)填到相应的属性中。
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-08 18:24:46 IP:61.218.xxx.xxx 未訂閱
如果是Indy 元件的話 IdMessageDecoderMIME 可以做到    
KFC
一般會員


發表:43
回覆:73
積分:23
註冊:2003-03-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-08 21:22:33 IP:210.77.xxx.xxx 未訂閱
请文那里下载?有没有范例?我已经写了一个接收邮件的程序,我想从收到的未解码MIME中解出各个段。最主要是解出Content-Type然后将它换成multipart/alternative,并加入相应的Content-Type 内容。请问那个元件可以做到吗?
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-08 21:47:04 IP:211.74.xxx.xxx 未訂閱
Indy 是D7 的網路標準元件 若你不是D7可去 http://www.indyproject.org/ 下載安裝    http://www.indyproject.org/indy/downloads/IndyWin32_9_00_11_Src.zip    indy 範例 http://www.indyproject.org/indy/demodownloads/I9D6_Demos_24Nov02.zip    裡面有MailClient範例可參考(很詳盡的範例)     發表人 - ddy 於 2003/04/08 21:57:44
KFC
一般會員


發表:43
回覆:73
積分:23
註冊:2003-03-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-08 22:09:43 IP:210.77.xxx.xxx 未訂閱
谢谢! 我看过范例,那个构件并没有解决问题。现在的情况是这样的。我通过其它途径获得了未解码的mail,这是一个长长的串。我想做的是将其中的From, To, Content-Type, 及body等信息分离开来。而indy中的构件是用来收发信件的。它们只有在收到信件时才能进行信息分离。而现在我已经得到了mail串,这样好样不能利用indy中的构件。还有,我装的是Delphi 6,装了indy后发现里面的Tldmessage中好像没有decode的函数? 發表人 - KFC 於 2003/04/08 22:21:33
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-08 23:35:54 IP:211.74.xxx.xxx 未訂閱
我一開始所提的 IdMessageDecoderMIME 元件不但取出各部資訊還解碼 若不使用這個,則你可以自行搭配,使用IdMessage與     IdDecoderMIME     IdEncoderMIME 自行處理MIME 的解碼處理    IdMessage 可以取出各部資訊     IdMessage1.From     IdMessage1.Body     IdMessage1.ContentType     IdMessage1.Encoding     IdMessage1.NoDecode     IdMessage1.NoEncode     IdMessage1.IsEncoded        
KFC
一般會員


發表:43
回覆:73
積分:23
註冊:2003-03-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-09 19:05:13 IP:210.77.xxx.xxx 未訂閱
谢谢。 好惭愧,我始终不知该怎样用。我的测试代码如下,不知那里出错了。 var dm :TIDMessageDecoderMIME; lm :TIDMessage; email, str :String; src, dest :TStringStream; begin // email is the encoded source of a mail // str is the decoded mail src := TStringStream.Create(email); dest := TStringStream.Create(str); lm := TIDMessage.Create(nil); lm.LoadFromStream(src,TRUE); lm.ContentType := 'text/html'; ... // modify the message lm.SaveToStream(src); dm := TIdMessageDecoderMIME.Create(nil); dm.SourceStream := src; messagebox(0, PChar(dm.ReadLn), '', MB_OK ); 不知怎么,总显示空行。 另外还有一个问题,如果邮件带有附件,是否不可以往MIME里加入其它的content-type?
Ktop_Robot
站務副站長


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

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


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


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


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

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