請教關於收 IMAP SERVER上信件的編碼問題 |
答題得分者是:Stallion
|
mypigbaby
高階會員 發表:11 回覆:168 積分:155 註冊:2006-07-20 發送簡訊給我 |
請問大家
最近小弟在寫MAIL CLIENT 卻發現了一個奇怪的問題 用TIDIMAP4這個元件去讀取IMAP SERVER上的信件時 收下來的MAIL SUBJECT都是一堆亂碼 ?big5?B?xXeq77F6pVukSsC4qKauVLzWwF0=?= 我在猜是因為有編碼的關係 可是我一直找不到要怎麼把這個編碼還原成原本的中文 請問這個要如何解決呢? PS.我用OUTLOOK看卻是正常的 開發環境是D7 INDY9 謝謝大家^^ 程式碼如下 procedure TForm1.ListBox1Click(Sender: TObject); var TheFlags: TIdMessageFlagsSet; TheUID: string; i: integer; nCount: integer; TheMsg: TIdMessage; z,MailBoxName: string; begin if ListBox1.ItemIndex <> -1 then begin Screen.Cursor := crHourGlass; MailBoxName := ListBox1.Items[ListBox1.ItemIndex]; if imap.SelectMailBox(MailBoxName) = False then begin Screen.Cursor := crDefault; ShowMessage('Error selecting ' MailBoxName); Exit; end; TheMsg := TIdMessage.Create(nil); nCount := imap.MailBox.TotalMsgs; if nCount = 0 then begin ShowMessage('There are no messages in ' MailBoxName); end else begin for i := 0 to nCount-1 do begin z:=''; imap.Retrieve(i 1,TheMsg); TheUID:=TheMsg.UID; imap.RetrieveFlags(i 1,TheFlags); imap.RetrieveHeader(i 1,TheMsg); if mfSeen in TheFlags then begin z:='Yes '; end else begin z:='No '; end; z:=z TheMsg.Subject; lb2.Lines.Add(z); end; end; TheMsg.Destroy; Screen.Cursor := crDefault; end; end; |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
mypigbaby
高階會員 發表:11 回覆:168 積分:155 註冊:2006-07-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |