Hi !
Hier eine Variante, wie man das ganze per Automation mit Outlook machen kann :
Outlook-Serverkompo auf Form:
benötigte Variablen:
Code:
var
oNS : NameSpace;
foldInbox : MAPIFolder;
mItem : Mailitem;
mit Outlook connecten:
Code:
try
OutApp.Connect;
except
Prot('');
Prot('FEHLER SCHWERWIEGEND: Verbindung zu Outlook gescheitert !');
Prot('Bitte kontaktieren Sie den Systemadministrator !');
exit;
end;
NameSpace holen:
Code:
oNS := OutApp.GetNamespace('
MAPI');
Logon to NameSpace
Code:
oNS.Logon('','',false,false);
Folder Posteingang holen
Code:
foldInBox:=oNS.GetDefaultFolder(olFolderInbox);
Anzahl der Mails bestimmen
Code:
AnzMails:=folder.Items.Count;
Wenn keine Mails dann abbrechen:
Code:
if AnzMails=0 then
begin
Prot(' Es stehen keine Mails zum Import im angegebenen Ordner bereit !!!');
exit;
end;
abarbeitung der einzelnen Mails.
Wichtig ist hierbei, dass die Mails in weitere Unterordner verschoben werden, weil ich immer auf die erste Mail im Posteingang zugreife.
Code:
i:=1;
while (i<=anzMails) do
begin
mItem := folder.Items.Item(1) as _MailItem;
Prot(' Mail Nr. '+IntToStr(i));
str1:=ANSIUPPERCASE(mItem.SenderName);
if str1<>gesuchterAbsender then
begin
//falscher Absender
Prot(' keine Übereinstimmung beim Absender ('+str1+')');
Prot(' Mailverarbeitung abgebrochen !');
Prot(' Mail wurde in den Fehlerordner verschoben !');
inc(anzError);
mItem.Move(FolderError);
end
else
begin
...//--> was auch immer Du mit der Mail machen willst
mItem.Move(folderImported);
end;
inc(i);
end;
Disconnecten:
So, ich hoffe, dass ich nichts vergessen habe und dass dir das weiterhilft.
Wenn Du das Objektmodel von Outlook brauchst, dann sag einfach nochmal bescheid. Will es nicht dranhängen, da es etwas größer ist (PDF-Format).
WICHTIG: Die Serverkompos funktionieren nicht mit Outlook-Express !!!
Wenn noch fragen sind, einfach posten !!!