Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-10-2008
luigidean luigidean is offline
Miembro
 
Registrado: ago 2004
Posts: 22
Poder: 0
luigidean Va por buen camino
Abrir Ficheros .MSG

Hola a todos

He estado buscando pero no he encontrado nada, imagino que debe haber poca información al respecto, así que os expongo mi problema.

Desde Microsoft Outlook exporto los correos a ficheros .MSG a una carpeta. Ahora bien quiero encontrar algún código o componente que me permita abrir esos ficheros desde mi programa tal como se verían en outlook o similar. A parte de poder extraer los ficheros adjuntos que pueda haber dentro de ese ficherito .msg

Utilizo Delphi 7...

No se si esto es posible por eso os pregunto.

Un saludo y gracias
Responder Con Cita
  #2  
Antiguo 06-11-2008
luigidean luigidean is offline
Miembro
 
Registrado: ago 2004
Posts: 22
Poder: 0
luigidean Va por buen camino
nadie sabe??
Responder Con Cita
  #3  
Antiguo 06-11-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
El componente TIdMessage tiene un metodo llamado LoadFromFile y una propiedad llamada MessageParts que es donde se guardan todas las partes del mensaje... a su vez dicha propiedad tiene otra llamada Items que es una lista de esas partes de donde puedes tomar la información que necesites y manipularla a tu antojo... un ejemplo muy, pero muy sencillo es el siguiente...

Suponiendo que tienes un Memo en el Form, hacemos lo siguiente:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  IdMessage1.LoadFromFile('C:\Prueba.msg');

  for I := 0 to IdMessage1.MessageParts.Count - 1 do
  begin
    if IdMessage1.MessageParts.Items[i].PartType = mptText then
      Memo1.Lines := TIdText(IdMessage1.MessageParts.Items[i]).Body
    else
      ShowMessage(TIdAttachment(IdMessage1.MessageParts.Items[i]).FileName);
  end;
end;

Ese ejemplo solo se limita a mostrar, el mensaje formateado en HTML en el Memo1 y a mostrar un mensaje con el nombre de los archivos adjuntos, pero en la propiedad Item de tipo TIdMessagePart que he mencionado anteriormente tienes mucha mas información...

Nota: Por lo que he notado, Items[1] tiene el texto plano e Items[2] tiene el texto con todas sus etiquetas HTML, que luego podran ser cargadas, tal vez en algun TWebBrowser, el resto si son los adjuntos... de todas formas, para ello esta el metodo PartType que es quien nos indica de cual de los dos estamos hablando exactamente .

Espero te sirva este ejemplo, por lo menos de Guia o Norte .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #4  
Antiguo 06-11-2008
luigidean luigidean is offline
Miembro
 
Registrado: ago 2004
Posts: 22
Poder: 0
luigidean Va por buen camino
Muchas gracias por tu respuesta jhonny.

Investigando he visto un ejemplo bastante completito tanto para enviar como recibir correo.

El formulario consta de un Memo donde muestra el mensaje pero aparecen las etiquetas html y lo suyo seria que apareciera el correo ya formateado.

Seguí investigando y descubri que guardandolo en un fichero .html temporal en el disco duro luego podria cargar este fichero en un WebBrowser mostrandose el mensaje bien formateado pero esta vez no aparecen las imagenes.

En este punto es donde me he quedado estancado ahora mismo intentando que me aparezca todo como si estuvieramos en el outlook por ejemplo...

Si tienes alguna idea de como mostrar las imagenes te lo agradeceria

Un saludo
Responder Con Cita
  #5  
Antiguo 06-11-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sé cómo lo hará Outlook, seguramente, con una solución mejor que la que a mí se me ocurre a bote pronto, que igual ni es solución ni es nada: tratar de descargar las imágenes que se encuentren en el cuerpo del correo (¿o como archivos adjuntos?) y mostrarlas ya a partir de una ruta conocida, porque, dichas imágenes podrían ya estar en algún directorio temporal del disco duro.

Vale. Yo le encuentro sentido, aunque, acto seguido, se me ocurre lo siguiente: ¿qué pasa si esas imágenes contienen información privada? Y pueden contenerla, puesto qeu vienen junto a un correo, privado. Quiero decir, guardar por nuestra cuenta esas imágenes en el disco duro, significa que luego habría que borrarlas, asegurarnos de que se borran, lo que se me torna en algo que puede llevar a ser problemático.

En fin. A ver si algún compañero con más experiencia y conocimientos puede dar alguna idea mejor.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 06-11-2008
luigidean luigidean is offline
Miembro
 
Registrado: ago 2004
Posts: 22
Poder: 0
luigidean Va por buen camino
Gracias dec.

Esa posibilidad de descargar las imagenes en el disco duro tambien la he probado pero dentro del html que tambien guardo en el disco pone este codigo:

Código:
<img border=0 width=550 height=187 id="_x0000_i1025"
  src="cid:image001.jpg@01C93FED.752492E0">
Si os fijais en el src antes del nombre del fichero de imagen pone "cid", y posteriormente "@01C93FED.752492E0", no se que quieren decir pero quizas por eso no me aparezca la imagen
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
Abrir ficheros de Ayuda en Delphi Campilongo API de Windows 4 26-11-2007 15:07:45
como abrir ficheros con Word Quin C++ Builder 12 25-08-2006 09:13:54
Abrir ficheros en delphi Dalba API de Windows 3 28-06-2006 11:26:31
Orden ficheros al abrir un proyecto neon Varios 1 09-06-2005 14:27:08
Abrir ficheros .dat con indices .ind el-otro Conexión con bases de datos 0 21-05-2005 19:46:24


La franja horaria es GMT +2. Ahora son las 15:09:49.


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