Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2008
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
Descargar archivo adjunto del outlook

Hola gente:
estuve buscando en el foro y en google pero no encontré información acerca de lo que necesito.
Necesitaría poder bajar los archivos adjuntos que me mandan al outlook desde un programa de delphi. Estuve viendo que el manejo de mails se hace con los componentes indy pero no encuentro nada de información de bajar archivos adjuntos y como es la primera vez que tengo que incursionar en el tema no sé para donde salir.

Cualquier información será agradecida.

Muchas Gracias.

Mariano.
Responder Con Cita
  #2  
Antiguo 30-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 30-01-2008 a las 19:36:21.
Responder Con Cita
  #3  
Antiguo 07-02-2008
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
Error en IdPOP31.connect

Gracias por el código.
Ahora estuve probando el código que me dejaste y me tira error cuando se va a conectar (en la línea IdPOP31.Connect). El error que tira es:
Project Project1.exe raised exception class EIdAlreadyConnected with message 'Already connected.'
Antes de todo yo le agregué los parametros de conexión que son:
Código Delphi [-]
  
  IdPOP31.Host := 'server5.server';
  IdPOP31.Port := 143;
  IdPOP31.Username := 'cualquiera@cualquiera.com';
  IdPOP31.Password := 'password';
  IdPOP31.Connect;

Muchas gracias por tu ayuda.
Responder Con Cita
  #4  
Antiguo 07-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Por lo visto, ya está conectado a un servidor. Un cliente INDY puede conectarse a un solo servidor a la vez.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 07-02-2008
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
Mensaje de error.

jachguate, agradezco infinitamente tus respuestas sobre este tema.
Te comento que no estoy conectado con indy a ningún otro servidor.
Y ahora me aparece el siguiente mensaje; el anterior mensaje parece que aparecio una sola vez y después siempre aparece este:
Project Project1.exe raised exception class EIdReplyPOP3Error with message".

Estoy buscando ese error en particular en internet pero no encuentro nada.

Muchas gracias por tu ayuda.

Saludos,

Mariano.
Responder Con Cita
  #6  
Antiguo 07-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Solo que has obviado el mensaje que envía de vuelta el servidor pop3, este estará justo después de "With message"

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 07-02-2008
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
El mensaje es blanco

jachguate, te comento que el mensaje justamente es ''. O sea como que es blanco y no me dice nada.
Te copio el código tal cual lo estoy ejecutando:
Código Delphi [-]
procedure TForm1.BitBtn2Click(Sender: TObject);
var
  Msg: TIdMessage;
  Att: TIdAttachment;
  I: Integer;
begin
  IdPOP31.Host := 'server011.host';
  IdPOP31.Port := 143;
  IdPOP31.Username := 'mail@servidor.com.ar';
  IdPOP31.Password := 'mipass';
  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;

Muchas gracias por tu tiempo.
Responder Con Cita
  #8  
Antiguo 07-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Bien, pues ejecutalo paso a paso y veamos que línea es la que está produciendo el error.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #9  
Antiguo 07-02-2008
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
El cartel de error sale en el connect.

Cita:
Empezado por mcalmanovici Ver Mensaje
Gracias por el código.
Ahora estuve probando el código que me dejaste y me tira error cuando se va a conectar (en la línea IdPOP31.Connect).
Muchas gracias por tu ayuda.
El error me lo está dando en la línea IdPOP31.Connect.
En ese momento es cuando me sale el error que te mostré anteriormente.

Muchas Gracias.
Responder Con Cita
  #10  
Antiguo 07-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Estas seguro de que el nombre de tu servidor de correo es

Código Delphi [-]
IdPOP31.Host := 'server011.host';

Así es como lo tienes en tu outlook?

Ademas no estas usando el puerto de POP3, estas usando el puerto de IMAP4, que no tendria mayor relevancia (creo)

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #11  
Antiguo 07-02-2008
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
Ya me puedo conectar.

Gracias egostar... era problema que el puerto efectivamente no era de pop3. El puerto para pop3 haciendo una rápida busqueda en google es 110. El servidor en el código tengo el que debe ir no el que puse en el foro.

Vuelvo a agradecer a egostar. Y también vuelvo a agradecer a jachte por su tiempo y contestaciones.

Saludos,

Mariano.

Ahora voy a seguir haciendo más cosas con el mail... Espero que me salgan así no tengo que preguntar mucho más....
Responder Con Cita
  #12  
Antiguo 07-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por mcalmanovici Ver Mensaje
Gracias egostar... era problema que el puerto efectivamente no era de pop3. El puerto para pop3 haciendo una rápida busqueda en google es 110. El servidor en el código tengo el que debe ir no el que puse en el foro.

Vuelvo a agradecer a egostar. Y también vuelvo a agradecer a jachte por su tiempo y contestaciones.

Saludos,

Mariano.

Ahora voy a seguir haciendo más cosas con el mail... Espero que me salgan así no tengo que preguntar mucho más....
Pues mira que bien, y pensar que dude que fuera el puerto

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
descargar archivo remoto totote Internet 4 17-10-2007 11:19:22
mail con ShellExecute y archivo adjunto MarioATamborini Internet 4 28-06-2007 01:39:20
Error al enviar mail con archivo adjunto cbothamley Internet 0 08-12-2006 05:56:45
Enviar un email con un archivo adjunto Turboleta Internet 9 31-07-2006 20:55:16
Problema al guardar archivo adjunto IceJamp Internet 3 04-04-2006 20:21:45


La franja horaria es GMT +2. Ahora son las 11:38:23.


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