Как получать электронные письма с помощью indy 10 и delphi 7 с вложенным файлом?
Как получать электронные письма с помощью indy 10 и delphi 7 с вложенным файлом?
comment
Вы читаете электронные письма с сервера POP3, используя компоненты Indy, и у вас возникают проблемы с чтением вложений? Я спрашиваю, потому что в противном случае совершенно правильный ответ: Инди не имеет к этому никакого отношения, попросите кого-нибудь отправить вам электронное письмо. Если да, то что вы уже сделали? Отредактируйте свой вопрос и покажите код.
- person Cosmin Prund   schedule 17.03.2011
Ответы (3)
Это рабочий код Indy 10. «Файлы» — это список строк, который содержит список загруженных вложений — меня интересуют вложения, а не сами письма.
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;
person
No'am Newman
schedule
17.03.2011
Вложения хранятся как объекты TIdAttachment
в коллекции TIdMessage.MessageParts
.
person
Remy Lebeau
schedule
17.03.2011
не могли бы вы предоставить мне полный код, где я могу получить почту и файлы вложений или любой рабочий или проверенный пример, который будет действительно полезен, заранее спасибо.
- person kapil sharma; 17.03.2011
kapil - люди здесь ждут, что ты что-то ПОПРОБУЕШЬ, а потом расскажешь нам, где ты застрял. Ты кажешься мне ленивым.
- person Warren P; 17.03.2011
Ваш код работает нормально, но нуждается в исправлении в разделе «начало-конец», где определяется «s». Если "ИмяФайла" пусто, программа должна пропустить сохранение. Вероятно, вы перерезали эту строку и «конец» висит.
person
Zikica
schedule
22.10.2016