关于INDY10里面POP3收邮件问题(急)

jinxiaoyan2005 2007-09-25 02:54:16
代码如下,参靠了网上的代码写的,收不带附件的邮件一切正常,如果邮件有附件的话则
邮件显示:This is a multi-part message in MIME format
而且附件保存出现异常,提示“error save attachment”
调试的时候查看发现收下来的附件文件名是乱码

请问如何解决


TIdMessage *msg=new TIdMessage(this);
//开始接收
int i=0;
for(i=0;i<amount;i++)
{
msg->Clear();
try{

JPop3->Retrieve((i+1),msg) ;
msg->ContentType="text/html";
}
catch(Exception &e)
{
Application->MessageBoxA(e.Message.c_str(),"警告",MB_OK);
return;
}
JBody->Lines->Append("邮件主题:"+ msg->Subject ); //邮件主题
JBody->Lines->Add("邮件内容:"+msg->Body->Text);//邮件内容
///开始获取附件
for (int k=0;k <(msg->MessageParts->Count);k++)
{

if (dynamic_cast <TIdAttachment* >(msg->MessageParts->Items[k]))
{
AnsiString lFilePath ;
TIdAttachment *pAttach;
pAttach=+dynamic_cast <TIdAttachment*>(msg->MessageParts->Items[k]);
lFilePath=ExtractFilePath(ParamStr(0))+pAttach->FileName;
if (lFilePath!="")
{
lFilePath=ExtractFilePath(ParamStr(0))+"\Temp\\"+pAttach->FileName;
try{

pAttach->SaveToFile(lFilePath);
}
catch(Exception &e)
{
Application->MessageBoxA(e.Message.c_str(),"警告",MB_OK);

}
}
}
}


/////////////////////////完毕
...全文
208 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ganyux 2008-08-25
  • 打赏
  • 举报
回复
但是我发现,正文的内容放在,附件里面的,但是附件保存不下来!
应该是indy的问题,我正准备升级到 indy 10.2.3看看有问题没!
加我QQ一起讨论一哈!QQ:6048010
ganyux 2008-08-25
  • 打赏
  • 举报
回复
我也遇到了!
用web发或发有附件的邮件,接收都是这样的!
我看了,好像是indy的问题!
我用的 indy 10.1.5
jinxiaoyan2005 2007-10-02
  • 打赏
  • 举报
回复
自己解决了,其实发送英文名字附件是正常的,中文的附件名是需要解码的

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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