用indy10的idpop3和idmessage写了个邮件检查的程序,但是邮件主题里有中文的时候,主题显示不出来,读到的字节数为0,请各位指点。
代码如下:  IdPOP.Host := Pop3ServerName;
  IdPOP.Port := Pop3ServerPort;
  IdPOP.Username Pop3ServerUser;
  IdPOP.Password := Pop3ServerPassword;
  try
    IdPOP.Connect;    FMsgCount := IdPOP.CheckMessages;    if FMsgCount>0 then
    begin
      //for i:=1 to FMsgCount do
      begin
        IdMessage.Clear;
        IdPOP.RetrieveHeader(FmsgCount, IdMessage);
        ilong := Length(IdMessage.Subject);
        showmessage(Inttostr(ilong));
      end;
    end;
  finally
    IdPOP.Disconnect;
  end;

解决方案 »

  1.   

    Indy10处理中文一直都有问题。
    你可以从svn更新indy10到最新版本 大概是10.5.5吧不用indy的话可以考虑用下synapse的网络库 挺好用的
      

  2.   

    谢谢!我发现是IdPOP.RetrieveHeader取回来的中文数据没有复制给idmessage.subject。
    不行就自己写吧。
      

  3.   


    另外再问一下indy10怎么更新?
    synapse是什么,能给提供点资料么?
      

  4.   

    synapse的svn地址https://synalist.svn.sourceforge.net/svnroot/synalist/trunkindy的svn地址我不记得了去官方主页找吧www.indyproject.org