主要代码如下: idmessage1.CharSet:= 'gb2312';
idmessage1.ContentType :='multipart/*'
idmessage1.ContentTransferEncoding:='base64';
IdPOP31.Retrieve(i,idmessage1) ;
bodyText:=idmessage1.Body.Text;bodyText值为:
#$D#$A'???'#$D#$A' ????????????????????????'#$D#$A' ??????????????????????????????????????'#$D#$A' ?????????????????????????????????????????????????????????????????????????????'#$D#$A' ?????'#$D#$A实际值为汉字请教高手
mailcount : integer;
i : integer;
tmp : string;
begin
try
IdPOP31.UserName := Edit_recv_user.Text; // 服务器上的用户名
IdPOP31.Password := Edit_recv_pass.Text; // 服务器上的密码
IdPOP31.Host := Edit_recv_server.Text; // 服务器SMTP地址 如:smtp.163.com
// IdPOP31.port := strtoint(Edit4.Text); // 服务器端口25;
IdPOP31.Connect(); //连接到POP3服务器
except
ShowMessage('接收邮件失败,请重试!');
exit; // 连接失败 的话 退出该执行过程
end;
mailcount := IdPOP31.CheckMessages; //得到邮箱邮件的各数
for i:=1 to mailcount do //遍历每一封邮件
begin
IdMessage1.Clear; IdPOP31.retrieveHeader(i,IdMessage1); //得到邮件的头信息
tmp := IdMessage1.Subject; //得到邮件的标题
Memo_recv_content.Lines.Add(tmp);
IdPOP31.Retrieve(i,IdMessage1); //接收到邮件所有内容
idmessage1.SaveToFile(tmp+'.txt');
tmp := IdMessage1.Body.Text; //邮件正文
Memo_recv_content.Lines.Add(tmp);
end;
IdPOP31.Disconnect; //断开连接
end;