Hat jemand eine Idee, wie man eine Mail im msg-Format von Outlook parsen kann? Am besten wenn man den Quelltext der empfangenen Mail aus dem msg-file bekommen könnte.
Soweit bin ich schon mal gekommen:
Code:
outlook := CreateOleObject('Outlook.Application');
NameSpace := outlook.GetNameSpace('
MAPI');
// MailItem := outlook.CreateItem(0);
entryID := String(Node.Data);
folder := namespace.GetFolderFromID(entryID);
// folder := NameSpace.GetDefaultFolder(olFolderInbox);
I := Folder.Unreaditemcount;
for I := 1 to folder.Unreaditemcount do
Begin
MailItem := Folder.Items.item(I);
MailItem.SaveAs('C:....\outlook.txt',olMsg);
L := lvmails.Items.Add;
L.Caption := MailItem.Subject;
End;
outlook := Unassigned;
Finally
Screen.Cursor := crDefault;
End;
Wobei man in MailItem.SaveAs diverse Typen eingeben kann. Hier ist der Typ für das msg-Format: olMsg.
Irgendwo habe ich mal den Typen: olRFC822 gefunden, der wäre ja wohl der Quelltext der Mail, allerdings funktioniert er heute nicht mehr.
Folgende Konstanten hierfür sind in Outlook 15 definiert:
Code:
const
olTXT = $00000000;
olRTF = $00000001;
olTemplate = $00000002;
olMSG = $00000003;
olDoc = $00000004;
olHTML = $00000005;
olVCard = $00000006;
olVCal = $00000007;
olICal = $00000008;
olMSGUnicode = $00000009;
olMHTML = $0000000A;
Microsoft will sich bei Outlook wohl nicht mehr in die Karten gucken lassen.
Any idea?