در مثال های indy خطا می داد
چه خطایی؟ چه کدی؟ بدون توضیحات کامل نمیشه انتظار جواب کامل داشت.
بطور کلی لیست Attachment ها به این شکل گرفته میشه:
for i := 0 to msg.MessageParts.Count-1 do
begin
if msg.MessageParts[i] is TIdAttachment then
FileList.Add(TIdAttachment(msg.MessageParts.Items[i]).FileName);
end;
که msg در این کد از نوع TIdMessage هست و FileList هم از نوع TStringList.
بعد از اینکه لیست فایل هایی که برای نگهداری هر یک از Attachment ها ساخته شدند را بدست آوردید، می تونید فایل را با ShellExecute باز کنید، یا اگر باید فایل در خود برنامه باز بشه، از یکی از روش های کار با فایل در دلفی (مثل TFileStream) استفاده کنید.