POP3接收邮件出错 Uneven size in DecodeToStream
我做一个邮件收发程序,收邮件时会报Uneven size in DecodeToStream ,不是所有的邮件都报这样的错误,我用不同的邮箱测试有的可以正常接收。部分代码如下:
if IdMessage1.Date> StrToDateTime(sE_Date) then
begin
IdMessage1.Clear;
IdPOP31.Retrieve(intIndex,IdMessage1); //此处代码执行报错
suiStatusBar1.Panels[0].Text:= '正在接收邮件:“ '+POP+ '”中第 '+inttostr(k)+ '封 ';
itm := ListView2.Items.Add;
itm.Caption:=IntToStr(k);
itm.ImageIndex:=0;
itm.SubItems.Add(GetTitle(IdMessage1.Subject));
itm.SubItems.Add(GetTitle(IdMessage1.From.Text));
itm.SubItems.Add(DateTimeToStr(IdMessage1.Date));
itm.SubItems.Add(IntToStr(IdPOP31.RetrieveMsgSize(intIndex)));
itm.SubItems.Add(IdMessage1.MsgId);
inc(sID);
mixfilename:= ' ';
请大家帮我看看该怎么解决。
[解决办法]
获取邮件头信息,应该用
IdPOP31.Retrieve.RetrieveHeader(intIndex,IdMessage1);
我不是高手,我是这么做的。
[解决办法]
IdPOP31.Retrieve.RetrieveHeader(intIndex,IdMessage1);
正确
[解决办法]
你的 intIndex 值对不对啊?
还有,你说163是指 163.com 还是 163.net
我的代码和你的差不多,163.com 没问题啊
[解决办法]
你的代码在我这边正常,还收下邮件了,你说的那部分会引起错误的邮件是什么内容?
[解决办法]
收邮件用 POP3来做~~