我用delphi 6.0中的NMPOP31控件做了一个下载邮件的程序:程序如下。
NMPOP31.GetMailMessage(i+1);
Memo1.Lines.Add('邮件来源:'+NMPOP31.MailMessage.From);
Memo1.Lines.Add('邮件标题:'+NMPOP31.MailMessage.Subject);
Memo1.Lines.Add('邮件ID:'+NMPOP31.MailMessage.MessageID);
Memo2.Lines.Assign(NMPOP31.MailMessage.Head);
Memo1.Lines.Add('邮件简述:');
Memo1.Lines.Add(Memo2.text);
Memo2.Lines.Assign(NMPOP31.MailMessage.Body);
Memo1.Lines.Add('邮件内容:');
Memo1.Lines.Add(Memo2.text);
StatusBar1.SimpleText:='此邮件的附件有:'+NMPOP31.MailMessage.Attachments.Text;程序测试过程中有两个问题:
一、有时候邮件正文中出现乱码。请问有什么函数可以把它变成汉字吗?
二、NMPOP31.MailMessage.Attachments.Text 下载附件的时候,有时候不能完全下载,比如朋友给我发的MMS 彩信图片,我下载下来的是一个Temp1.mme 和一个temp.tmp文件,在temp.tmp中可以知道有一个*.jpg的图象信息,请问怎么获取图片?

解决方案 »

  1.   

    1、有的邮件的内容进行编码后进行发送的,如果不进行解码就显示的是乱码,Indy控件中有进行相应解码和编码的控件,见Indy misc页中IdBase64Enconde、IdBase64Decode、IdUUEncode、IdUUDecode等控件;
    2、存储附件的代码如下:
                  for i := 0 to Msg.MessageParts.Count - 1 do begin
                    if Msg.MessageParts.Items[i] is TIdAttachment then begin
                      if SaveDialog1.Execute then
                        TIdAttachment(Msg.MessageParts.Items[i]).SaveToFile(
                          SaveDialog1.FileName);
                        break;
                    end;
      

  2.   

    TIdAttachment 类是什么东东啊?希望详细解答啊?