Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-03-2008
RaulChemical RaulChemical is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 59
Poder: 21
RaulChemical Va por buen camino
Ficheros adjuntos en Indy con IdMessage

Hola a todos!!!

Necesito guardar en un directorio los ficheros adjuntos que vienen en un correo.

Uso un TIdPOP3 para la conexión al correo y un TIdMessage para "retrievearme" el correo.

El caso es que no se como acceder a los ficheros adjuntos del mail.

Esto es lo que hago para bajarme los correos:

Código Delphi [-]
  try
    IdPOP31.Connect;
    IdMessage1.AttachmentTempDirectory := ExtractFileDir(Application.ExeName);
    for i := 1 to IdPOP31.CheckMessages do
    begin
      IdMessage1.Clear;
      IdPOP31.RetrieveHeader(i, IdMessage1);
      // tratamiento de la cabecera.........
      IdPOP31.Retrieve(i, IdMessage1);
    end;
    IdMessage1.Clear;
  finally
    IdPOP31.Disconnect;
  end;

Cuando hago el IdPOP31.Retrieve(i, IdMessage1); en el "AttachmentTempDirectory" me genera tantos ficheros como adjuntos tenga el mail, pero no consigo averiguar cual es el nombre del fichero. No he encontrado ninguna lista en TIdMessage que contenga la lista de "attachments".

Sabe alguien como hacerlo?

Muchas gracias a todos.
__________________
ash nazg durbatulûk
ash nazg gimbatul
ash nazg thrakatulûk
agh burzum-ishi krimpatul
Responder Con Cita
  #2  
Antiguo 04-03-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Código Delphi [-]
for ii := 0 to Pred(IdMessage1.MessageParts.Count) do begin

  if (IdMessage1.MessageParts.Items[ii] is TIdAttachmentFile) then begin
    //Caso de que fuera un adjunto
    AuxString1 := TIdAttachmentFile(IdMessage1.MessageParts.Items[ii]).Filename;
    ...
    f := TMemoryStream.Create;
    TIdAttachmentFile(IdMessage1.MessageParts.Items[ii]).SaveToStream(f);
 
    ...

  end
  else  // Resto del mensaje (p.ej. parte principal)
 
  ...
 
end;

Saludos
__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 05-03-2008
RaulChemical RaulChemical is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 59
Poder: 21
RaulChemical Va por buen camino
Funciona.

Muchas gracias!!!
__________________
ash nazg durbatulûk
ash nazg gimbatul
ash nazg thrakatulûk
agh burzum-ishi krimpatul
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
en delphi 5 IdMessage.dcu, IdSMTP.dcu pipe Varios 0 15-01-2008 15:48:50
Problema con archivos adjuntos y cuerpo de mail en indy razadi Internet 4 14-09-2006 09:56:37
Descargar ficheros adjuntos del correo Gmail D@byt Internet 1 11-01-2006 23:59:27
Problema al enviar Email con adjuntos usando el componente Idsmtp de las indy Nbull Internet 2 22-11-2004 09:23:38
duda con idmessage tutuk Internet 4 19-04-2004 15:57:10


La franja horaria es GMT +2. Ahora son las 18:39:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi