Danke schon mal für die Antworten. Ich bin gerade dabei was auszuprobieren. Funktioniert auch schon teilweise.
Was mir fehlt ist einfach eine Referenz, wo ich die ganzen Variablen finde, die ich abfragen kann.
Strg-Leertaste liefert bei OLEVariant nichts.
Ich habe mir mal was aus Fundstücken im Netz zusammen gebastelt. Ich weiß da wo die ???? sind nicht wie ich zu den entsprechenden Daten komme. Wären auch noch weitere interessand wo replyto, etc.
Wo finde ich eine komplette Aufzählung aller möglichen Daten, die ich aus dem OLEVariant eMail bekomme? Das gleiche interessiert mich auch für die übrigen Variants, wie Inbox und z.B. importfolder.
Bitte fehlende Fehlerbehandlung und Aufräumarbeiten ignorieren. Ist nur quick and dirty, um die Funktionsweise zu testen.
Delphi-Quellcode:
function getEmails(
var Subject, Sender, Adress,
CC, BB, Body, Attachment :
string):boolean;
var
oleOutlook : OLEVariant;
oleNameSpace : OLEVariant;
importfolder : OLEVariant;
Inbox : OLEVariant;
eMail : OLEVariant;
i : integer;
ok : boolean;
begin
Result := False;
CoInitialize(
NIL);
try
oleOutlook := GetActiveOleObject('
Outlook.Application');
except
oleOutlook := CreateOleObject('
Outlook.Application');
end;
try
oleNameSpace := oleOutlook.GetNameSpace('
MAPI');
ok := false;
Inbox := oleNameSpace.GetDefaultFolder(olFolderInbox);
i := 0;
while i < Inbox.Folders.Count
do
begin
if uppercase (Inbox.Folders[i+1].
Name) = '
IMPORT'
then
begin
importfolder := Inbox.Folders[i+1];
ok := true;
i := Inbox.Folders.Count;
end;
end;
if ok
and (importfolder.Items.Count > 0)
then
begin
email := importfolder.Items (1);
Subject := eMail.Subject;
// Sender := eMail.from; ????? Wie kriege ich den Absender
Adress := eMail.
to;
cc := eMail.cc;
bb := eMail.bcc;
body := eMail.body;
// Attachment := eMail.Attachments.text; ????? Wie kriege ich eine Liste der Anhänge
Result := TRUE;
email.delete;
end;
except
end;
oleOutlook := NULL;
end;