现在是这样的,部分邮件的正文接收下来完全为空,很奇怪的问题
只有几封邮件是这样,在邮箱上直接收是没有问题
求教高手 ,这个问题在这里问了很多次都没有人能解答具体代码
接收的代码
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
表示没有附件和正文,但我的邮箱是有正文的,请问那个高手能指教怎么做
急,在线等待,不够加分
只有几封邮件是这样,在邮箱上直接收是没有问题
求教高手 ,这个问题在这里问了很多次都没有人能解答具体代码
接收的代码
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
表示没有附件和正文,但我的邮箱是有正文的,请问那个高手能指教怎么做
急,在线等待,不够加分
ShowMessage(IdMessage1.Body); //显示一下正文内容, 看看接收是否正常
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
ShowMessage(IdMessage1.Body); //显示一下正文内容, 看看接收是否正常
你是高手,谢谢结帖