Ver Mensaje Individual
  #3  
Antiguo 06-11-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Reputación: 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