2011-06-02 21 views
6

Necesito recuperar el cuerpo de los archivos msg de outlooks almacenados en un disco local y extraer alguna información de cada uno, su formato siempre es el mismo, solo cambian los datos , por favor avise.Archivos de msg de Outlook almacenados en un disco local, cómo leer con delphi

gracias de antemano Raul


Gracias a todos,

debido a la restricción de responder a mí mismo, voy a escribir mi solución justo debajo de mi pregunta.

He comprobado algunos documentos de MS y aquí está mi solución funcionando como se esperaba.

procedure TForm1.displayOutlookMsg(aFileName: string); 
const 
olFormatHTML = 2; 
olFormatPlain = 1; 
olFormatRichText = 3 ; 
olFormatUnspecified = 0; 

var outlook: OleVariant; 
    outlookMsg, bodyMsg: variant; 
begin 

    try 
    Outlook := GetActiveOleObject('Outlook.Application'); 
    except 
    Outlook := CreateOleObject('Outlook.Application'); 
    end; 

    outlookMsg:= outlook.CreateItemFromTemplate(aFileName); 
    outlookMsg.bodyFormat := olFormatPlain; 

    bodyMsg:= outlookMsg.body; 

    Memo1.Lines.Add(VarToStr(bodyMsg)); 
    outlook:= unassigned; 

end; 
+1

muy buena solución simple +1, puede publicar el código de una respuesta y aceptarlo. – RRUZ

+0

Debe hacer de esto una respuesta, luego acepte esa respuesta. Eso disminuirá el recuento de respuestas no aceptadas y mejorará la calidad general de StackOverflow: http://stackoverflow.com/search?q=user%3A548280+is%3Aanswer+hasaccepted%3Ano –

Respuesta

2

Puedes probar SMMsg de Scalabium.

Cuestiones relacionadas