FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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 |
#3
|
|||
|
|||
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 |
#4
|
||||
|
||||
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 |
#5
|
|||
|
|||
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 |
|
|
|