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
.