如何使用indy 10和delphi 7以及文件附件接收电子邮件?
如何使用indy 10和delphi 7以及文件附件接收电子邮件?附件作为如何使用indy 10和delphi 7以及文件附件接收电子邮件?,delphi,indy10,Delphi,Indy10,如何使用indy 10和delphi 7以及文件附件接收电子邮件?附件作为TIdAttachment对象存储在TIdMessage.MessageParts集合中。这是使用indy 10的代码。”“文件”是一个stringlist,其中包含已下载的附件列表-我对附件感兴趣,而不是信件本身 with IdPop31 do begin ConnectTimeout := 5000; Connect; try files.Clear; for i := 1 to check
TIdAttachment
对象存储在TIdMessage.MessageParts
集合中。这是使用indy 10的代码。”“文件”是一个stringlist,其中包含已下载的附件列表-我对附件感兴趣,而不是信件本身
with IdPop31 do
begin
ConnectTimeout := 5000;
Connect;
try
files.Clear;
for i := 1 to checkmessages do
begin
msg.clear;
flag := false;
if retrieve (i, msg) then
begin
for j := 0 to msg.MessageParts.Count-1 do
begin
if msg.MessageParts[j] is TIdAttachment then
begin
with TIdAttachment(msg.MessageParts[j]) do
begin
s := IncludeTrailingPathDelimiter(mydir) + ExtractFileName(FileName);
log ('Downloaded ' + s);
if not FileExists(s) then
begin
SaveToFile(s);
files.Add(s);
end;
end;
end;
flag := true;
end;
end;
end;
if flag then Delete(i); // remove the email from the server
end;
finally
Disconnect;
end
end;
您的代码运行良好,但需要在“开始-结束”部分进行更正,其中“s”是定义的。如果“FileName”为空,则程序必须跳过保存。也许你剪了这条线,“结束”就挂了 请你提供完整的代码,我可以在那里得到邮件和附件文件,或者任何工作或测试的例子,这将是真正有帮助的提前感谢。卡皮尔-这里的人希望你尝试一些东西,然后告诉我们你在哪里卡住了。我觉得你很懒。你是否正在使用Indy组件阅读POP3服务器上的电子邮件,并且在阅读附件时遇到问题?我在问,否则一个完全有效的答案是“印地与此无关,请某人给你发电子邮件”。如果是,到目前为止你做了什么?编辑您的问题并显示一些代码。