Si lo haces con Indy, outlook no tiene nada que ver, pues tu programa se conectará directamente al servidor de correo usando, por ejemplo, el protocolo pop3.
Al descargar un mensaje, este viene con sus adjuntos. Por ejemplo, con el código que adjunto obtendrías los adjuntos del primer mensaje que esté en el servidor.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
Msg: TIdMessage;
Att: TIdAttachment;
I: Integer;
begin
IdPOP31.Connect;
if IdPOP31.CheckMessages >= 1 then
begin
Msg := TIdMessage.Create(nil);
try
if IdPOP31.Retrieve(1, Msg) then
for I := 0 to Msg.MessageParts.Count - 1 do
if Msg.MessageParts.Items[i] is TIdAttachment then
begin
Att := TIdAttachment(Msg.MessageParts.Items[i]);
Att.SaveToFile(Att.FileName);
end;
finally
Msg.Free;
end;
end;
end;
Hasta luego.