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

請問Delphi7使用IdPOP3(Indy9)下載郵件後,怎樣處理亂碼(MIME)?

尚未結案
nnn0918k
一般會員


發表:12
回覆:33
積分:14
註冊:2003-05-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-14 00:02:39 IP:61.217.xxx.xxx 未訂閱
我用Delphi7 Indy9寫POP3收信軟體,其中收信部分如下, 可是郵件下載後,有很多亂碼(MIME的)如:Subject(主旨)、From(寄件者)。 請問怎樣處理呢? 使用IdDecoderMIME/IdMessageDecoderMIME是否能解決呢? 怎樣使用?(重點= =) 或者有其他方法? 最好能用我下面的程式碼示範..謝謝! //--- IdPOP3.Connect; StatusBar.SimpleText := '正在檢查新郵件..'; l_Msgs := IdPOP3.CheckMessages; StatusBar.SimpleText := '郵件伺服器裡有 ' inttostr(l_Msgs) ' 封新郵件。'; for i_Msg := 1 to l_Msgs do begin IdMsg.Clear; StatusBar.SimpleText := '正在下載郵件' inttostr(i_Msg) '/' inttostr(l_Msgs) '..'; l_MsgLen := IdPOP3.RetrieveMsgSize(i_Msg); IdPOP3.Retrieve(i_Msg,IdMsg); lv_Msg := lv_Mailbox.Items.Add; lv_Msg.Caption := IdMsg.From.Text; lv_Msg.SubItems.Add(IdMsg.Subject); lv_Msg.SubItems.Add(FormatDateTime('yyyy/mm/dd hh:mm:ss', IdMsg.Date)); lv_Msg.SubItems.Add(inttostr(l_MsgLen)); end; IdPOP3.Disconnect; //--- //使用的元件/變數 IdPOP3: TIdPOP3; lv_Mailbox: TListView; StatusBar: TStatusBar; IdMsg: TIdMessage; l_Msgs : Integer; i_Msg : Integer; lv_Msg: TListItem; l_MsgLen: Integer; //--- 火舞精靈 - 蘇
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-14 01:11:42 IP:61.64.xxx.xxx 未訂閱
原本的查詢資料 因為並無幫助 更會造成錯誤的誤導示範 所以庵只有以自行刪除表示 抱歉 抱歉 ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-14 01:12:44 IP:61.225.xxx.xxx 未訂閱
TNMUUProcessor的使用~~僅共參考 var inStream,outStream:TFileStream; begin inStream:=TFileStream.create(infile.txt,fmOpenRead); outStream:=TFileStream(outfile.txt,fmCreate); NMUUE.Method:=uuCode;{UUEncode/Decode} //NMUUE.Method:=uuMIME;{MIME} NMUUE.InputStream:=InStream; NMUUE.OutputStream:=OutStream; NMUUE.Encode;{編碼處理} //NMUUE.Decode;{解碼處理} inStream.free; outStream.free; end; 發表是最好的記憶!
nnn0918k
一般會員


發表:12
回覆:33
積分:14
註冊:2003-05-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-14 01:43:04 IP:61.217.xxx.xxx 未訂閱
引言: 你參考看看 請多多使用 搜索文章 [推薦] MIME 和 BASE64 編碼/解碼程序代碼 http://delphi.ktop.com.tw/topic.php?topic_id=19939 【Delphi】【問題】關於 Indy 的 client-side IdPOP3 使用問題 http://delphi.ktop.com.tw/topic.php?topic_id=20737 【問題】以telnet直接取得郵件內容的實作 http://delphi.ktop.com.tw/topic.php?topic_id=27115 【問題】誰用過IDSMTP發送郵件?請進來一下. http://delphi.ktop.com.tw/topic.php?topic_id=20748 【Delphi】【發表】[VCL Howto 投稿] Indy 9.0.10 TIdSMTP & TIdMessage http://delphi.ktop.com.tw/topic.php?topic_id=20961 【Delphi】【發表】Indy E_mail小精靈word部分 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=21399 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=21398 【轉貼】解碼mime郵件的代碼 http://delphi.ktop.com.tw/topic.php?topic_id=22408 【問題】有什么构件可以解析MIME http://delphi.ktop.com.tw/topic.php?topic_id=28343 ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
上面那些我都看過了.. 沒半個有用的呀QQ 火舞精靈 - 蘇
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-14 09:48:26 IP:61.221.xxx.xxx 未訂閱
上面那些我都看過了.. 沒半個有用的呀QQ 火舞精靈 - 蘇 是這樣子ㄚ 抱歉抱歉 請原諒 耽誤你寶貴的時間 也造成你的誤導 看來 庵還是隱修一下 練練再來 ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
nnn0918k
一般會員


發表:12
回覆:33
積分:14
註冊:2003-05-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-14 10:08:57 IP:61.217.xxx.xxx 未訂閱
引言: 上面那些我都看過了.. 沒半個有用的呀QQ 火舞精靈 - 蘇 是這樣子ㄚ 抱歉抱歉 請原諒 耽誤你寶貴的時間 也造成你的誤導 看來 庵還是隱修一下 練練再來 ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
我還是很感謝你的說QQ.. 只要有心幫我,我都很感謝的..c 那個好像是BASE64編碼耶.. 據說..IdDecoderMIME..就是專門解這個的.. 來去試= =.. 我是新手QQ.. 火舞精靈 - 蘇
nnn0918k
一般會員


發表:12
回覆:33
積分:14
註冊:2003-05-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-14 16:07:25 IP:61.217.xxx.xxx 未訂閱
終於試出來了~"~ 可以直接這樣子用.. Caption := Base64Decode(IdMessage.From.Text); Caption := Base64Decode(IdMessage.Subject.Text); 以下是自己寫的,利用Indy9內建De/EncoderMIME解碼.. //------------------------------------------------------------------------------ //Base64Decode //------------------------------------------------------------------------------ function TMainForm.Base64Decode(strInput : string) : string; var strDecode : string; posStart: Integer; posEnd : Integer; begin while pos('=?big5?b?',lowercase(strInput)) > 0 do begin try posStart := pos('=?big5?b?',lowercase(strInput)); posEnd := pos('?=',lowercase(strInput)); strDecode := strDecode copy(strInput,1,posStart-1) IdDeMIME.DecodeString(copy(strInput,posStart 9,posEnd-posStart-9)); strInput := copy(strInput,posEnd 2,length(strInput)-posEnd-1); finally Application.ProcessMessages; end; end; strDecode := strDecode strInput; result := strDecode; end; //------------------------------------------------------------------------------ //Base64Encode //------------------------------------------------------------------------------ function TMainForm.Base64Encode(strInput : string) : string; var strEncode : string; begin strEncode := IdEnMIME.EncodeString(strInput); result := strEncode; end; //------------------------------------------------------------------------------ PS. IdDeMIME是IdDecoderMIME IdEnMIME是IdEncoderMIME 火舞精靈 - 蘇
Ktop_Robot
站務副站長


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

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


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


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


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

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