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 08-02-2004
peazohuevon peazohuevon is offline
Registrado
 
Registrado: feb 2004
Posts: 5
Poder: 0
peazohuevon Va por buen camino
Question Problemas con Attachment en tIdPOP3 y tNMPOP3

Hola a todos. Mi problema es el siguiente. Me he configurado un gestor de correo para recibir correos de una cuenta determinada. Al principio lo hice con D6 y el componente TNMPOP3. Con este control recibo bien todos los ficheros salvo si vienen los datos (en mi caso son imágenes) en base64. Es decir, que las imágenes que vengan en el body incrustadas se graban sin decodificar(letras y numeros en Base64).
Luego probé con el tIdPop3, y parece que este control lo podia solucionar, pero cuando llegas a descargarte el attachment no lo decodifica bien y se graba igual que con el TNMPOP3. Llevo dos dias dandole vueltas y vueltas, y me estoy empezando a dar por vencido .
Se os ocurre algo? Os envio el código donde grabo los attach, que estan sacados de la demo de Indy.

if (Msg.MessageParts.Items[j] is TIdAttachment) then
begin // si es attchamente lo guardo
edit4.text := TIdAttachment( Msg.MessageParts.Items[j]).Filename;
TIdAttachment(Msg.MessageParts.Items[j]).SaveToFile(TIdAttachment(Msg.MessageParts.Items[j]).Filename);
end
else
begin //si es texto pal body
if Msg.MessageParts.Items[j] is TIdText then
begin
Memo1.Lines.AddStrings(TIdText(Msg.MessageParts.Items[j]).Body);
end;
end;

Por favor , ayuda!!!!!
Muchas Gracias
Responder Con Cita
  #2  
Antiguo 09-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Estas seguro que viene bien codificado?

Quizas el problema no está en el cliente POP3, sino en el cliente SMTP que ha hecho originalmente el envío o incluso en uno de los servidores que ha procesado el mensaje. Te sugiero que intentes enviarlo con diferentes clientes y de diferentes cuentas, a ver si por alli salta algo...

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
  #3  
Antiguo 09-02-2004
peazohuevon peazohuevon is offline
Registrado
 
Registrado: feb 2004
Posts: 5
Poder: 0
peazohuevon Va por buen camino
Hola, he realizado pruebas desde distintas cuentas y cliente SMTP y lo hace bien, pero porque no meten las imagenes en el body, las recibe como attachment normales. El problema es que el servidor SMTP que me envia las imagenes las incrusta . He configurado la cuenta en el Outlook y el propio outlook desencripta bien la foto en el body.

Yo solo consigo recoger el message header con esta informacion (solo muestro lo referente al MIME):

Content-Transfer-Encoding: binary
Content-Type: multipart/mixed; boundary="_----------=_107632220693330"
MIME-Version: 1.0
X-Mailer: MIME::Lite 3.01 (F2.6; B2.14; Q2.09)

y el message.body con la informacion encriptada:
/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwM
DAwMEAwODxAPDgwTExQUExMcGxsbHCAgICAgICAgICD/2wBDAQcHBw0MDRgQEBgaFREVGiAgICAg.....

Me estoy empezando a pegar contra las paredes

Gracias
Responder Con Cita
  #4  
Antiguo 09-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Extraño comportamiento del cliente de SMTP que te las envía... dudo mucho que el servidor tenga algo que ver en esto...

Pues si estás seguro de que viene códificado en Base64, podes usar un TidDecoderMIME para obtener de vuelta tu imagen...

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 09-02-2004
peazohuevon peazohuevon is offline
Registrado
 
Registrado: feb 2004
Posts: 5
Poder: 0
peazohuevon Va por buen camino
Gracias por la ayuda. Al final he encontrado unas librerias llamadas DIMimeStreams. Tiene un procedimiento llamado MimeDecodeFile que lo desencripta bien Pero estas librerias me las he bajado en el curro , q tengo w2000 y me las ha desencriptado mal.Ahora en casa con xp las imagenes vienen bien. Mañana con w2000 probaré.

os envio el trozo de codigo, a mi me ha sido muy util. El codigo era para probar, por lo que no está muy bonito fich es Textfile, y pop es TNMPOP3


assignfile(fich,'c:\In.jpg');
rewrite(fich);
write(fich,pop.MailMessage.Body.Text);
closefile(fich);
mimedecodefile('c:\In.jpg' , 'c:\OUT.jpg');

Gracias
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


La franja horaria es GMT +2. Ahora son las 23:51:56.


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