Hallo!
Ich möchte mir ein kleines Tool schreiben, dass aus einem Ordner in meinem Outlook Daten sammelt. Dabei scheitere ich leider am Zugriff auf die E-Mailinhalte:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
OutlookApp : TOutlookApplication;
Inbox : MAPIFolder;
Folder : MAPIFolder;
NmSpace : _Namespace;
Mail : MailItem;
i: Integer;
begin
try
OutlookApp := TOutlookApplication.Create(
nil);
OutlookApp.Connect;
NmSpace := OutlookApp.GetNamespace('
MAPI');
Inbox := NmSpace.GetDefaultFolder(olFolderInbox);
// Klappt, weil es nur um mein Outlook geht und der Ordner 10
// vorhanden ist...
Folder := Inbox.Folders.Item(10);
// Der Ordner enthält nur Mails
for i:=1
to Folder.Items.Count
do begin
Mail := MailItem(Folder.Items.Item(i));
MachWas(Mail.Body);
end;
except
end;
end;
Beim Aufruf von Mail.Body kommt es dann aber zu einer Zugriffsverletzung (EAccessViolation). Der Ordner enthält nur E-Mail, Folder.Items.Count stimmt mit der Anzahl der enthaltenen E-Mails überein. Was muss ich also tun um auf den Quelltext der Mails zugreifen zu können?
Besten Dank
Ares