去看看DELPHI6提供的例子程序:
C:\Borland\Delphi6\Demos\Indy\MailClient\MailDemo.dpr

解决方案 »

  1.   

    是不是TidMessage.CharSet没有设置?
      

  2.   

    DELPHI6提供的例子程序自己就存在这个问题。正文倒是没有问题,就是标题有问题
      

  3.   

    是用了Base64编码,论坛中搜出个Base解码的例子,把=?GB2312之后的字符解一下就行了
      

  4.   

    就是先将收到的编码以二进制形式写入文件,再以ascii码的形式将其读出,就可以解决了procedure Tfrm_Get_Mail.NMPOP31Connect(Sender: TObject);
    var
      S: String;
      M: Integer;
    begin
      frm_Get_Mail.Caption:='已经连接到 '+ADOQuery1['Mail_UserName']+' 在 '+ADOQuery1['Mail_POP3_Host']+'上';
      if NMPOP31.MailCount > 0 then
      begin
        Label1.Caption:='有 '+IntToStr(NMPOP31.MailCount)+' 封信在你的信箱里。';
        if InputQuery('输入一个编号', '接收哪条? (1-'+IntToStr(NMPOP31.MailCount)+')', S) then
        begin
          M := StrToIntDef(S, -1);
          If (M < 0) or (M > NMPOP31.MailCount) then
            ShowMessage('无效的编号')
          else
            ProgressBar1.Max:=100;
            ProgressBar1.Min:=0;
              NMPOP31.GetMailMessage(M);
        end;
        end
      else
        Label1.Caption:='没有邮件.';
    end;procedure Tfrm_Get_Mail.NMPOP31DecodeStart(var FileName: String);
    var
      S: String;
    begin
      S := FileName;
      if InputQuery('保存附件', '文件名?', S) then
        FileName := S;
    end;procedure Tfrm_Get_Mail.NMPOP31RetrieveEnd(Sender: TObject);
    begin
    Memo1.Text := NMPOP31.MailMessage.Body.Text;
      Memo1.lines.add( NMPOP31.MailMessage.Subject);
      Memo1.Lines.Add(NMPOP31.MailMessage.From);
      Label1.Caption:='接收完毕';
    end;
      

  5.   

    这种已经解决了,先给一部分分
    但是
    =?GB2312?Q?=D3=C3=A1=B6=D5=FD=B6=AB=D3=AA=CF=FA=CC=EC=CD=F5=D0=C7=
    A1=B7=D6=FA=C4=FA=C7=E1=CB=C9=BF=A这种又是什么,应该怎么办
      

  6.   

    换用一个控件---Mail2000怎么样?
    这是一个例子:http://www.csdn.net/cnshare/soft/12/12399.shtm
    恳请指导!