idpop3接收正文不正确问题 (delphi7+indy9)急,在线等待,不够加分

ou630j 2009-03-23 02:23:43
现在是这样的,部分邮件的正文接收下来完全为空,很奇怪的问题
只有几封邮件是这样,在邮箱上直接收是没有问题
求教高手 ,这个问题在这里问了很多次都没有人能解答

具体代码
接收的代码
procedure TRetrievemail.Retrieve_inmail();
var i:integer;
begin
for i:=1 to IdPOP31.CheckMessages do
begin
IdMessage1.Clear;//清空msg里面的数据
IdMessage1.ContentType:='text/html';
IdMessage1.CharSet:='gb2312';
IdPOP31.Retrieve(i,IdMessage1); //----//
end;
end;

接收正文和附近的代码
procedure TRetrievemail.MessageParts_inmail();
var k:integer;
begin
for k:=0 to pred(IdMessage1.MessageParts.Count) do
begin
if IdMessage1.MessageParts.Items[k] is TIdAttachment then
begin
//保存附件信息
end;
if IdMessage1.MessageParts.Items[k] is TIdText then
begin //正文
mail_text:=mail_text+TIdText(IdMessage1.MessageParts.Items[k]).Body.Text;
end;
end;
end;
现在接收的时候直接跳过for k:=0 to pred(IdMessage1.MessageParts.Count) do
表示没有附件和正文,但我的邮箱是有正文的,请问那个高手能指教怎么做
急,在线等待,不够加分
...全文
198 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hackha2008 2010-11-25
  • 打赏
  • 举报
回复
感谢楼主啊,我从你这里获得了灵感终于解决了我正文没有的尴尬了
hackha2008 2010-11-25
  • 打赏
  • 举报
回复
楼主啊,我的更加邪恶,我的body里面全是#$d#$a之类的乱码,我疯狂了
ou630j 2009-03-24
  • 打赏
  • 举报
回复
IdPOP31.Retrieve(i,IdMessage1);
ShowMessage(IdMessage1.Body); //显示一下正文内容, 看看接收是否正常


你是高手,谢谢

结帖
ou630j 2009-03-24
  • 打赏
  • 举报
回复
没有用的,我跟踪过了,什么都没有,直接就跳过接收
for k:=0 to pred(IdMessage1.MessageParts.Count) do
begin if IdMessage1.MessageParts.Items[k] is TIdAttachment then
begin
//保存附件信息
end;
if IdMessage1.MessageParts.Items[k] is TIdText then
begin //正文
mail_text:=mail_text+TIdText(IdMessage1.MessageParts.Items[k]).Body.Text;
end;
end;
这个代码,因为 IdMessage1.MessageParts.Count也是0
jadeluo 2009-03-23
  • 打赏
  • 举报
回复
IdPOP31.Retrieve(i,IdMessage1);
ShowMessage(IdMessage1.Body); //显示一下正文内容, 看看接收是否正常
ou630j 2009-03-23
  • 打赏
  • 举报
回复
帮顶都没有人

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧