Hallo,
ich habe Probleme mit einer Verbindung zu Outlook 2016 und höher. Soll angeblich daran liegen, dass Outlook2016 nur noch
MAPI/http aber nicht mehr
MAPI/RPC unterstützt.
Leider konnte ich keine Dokumentation finden, mit der ich weiter kommen.
Ich brauche eine Möglichkeit Mails über Outlook zu senden und eine Möglichkeit Mails aus einem bestimmten Ordern von Outlook zu übernehmen.
Unten ein Beispiel, wie ich aktuell auf Outlook zugreife um Mails aus einem bestimmten Ordner abzuholen. Das funktioniert bisher wie es soll, aber ab Outlook 2016 nicht mehr.
Was gibt es für Alternativen, bzw. wie kann ich das gleiche für neuere Outlookversionen erreichen? Wäre super, wenn mir jemand weiter helfen könnte.
Ich verwende Delphi 2007 und Delphi XE 10.1 Berlin.
Delphi-Quellcode:
uses
......,
Outlook2000;
procedure mailimport;
var
inboxfolder,
importfolder : mapifolder;
Outlook : TOutlookapplication;
items : _items;
begin
.....
Outlook := TOutlookapplication.create (self);
if assigned (Outlook)
then
begin
try
inboxfolder := outlook.getNamespace ('
MAPI').GetDefaultFolder (olfolderinbox);
if assigned (inboxfolder)
then
begin
i := 1;
while (i <= inboxfolder.Folders.Count)
and not assigned (importfolder)
do
begin
if uppercase (inboxfolder.Folders.Item(i).
Name) = '
IMPORT'
then
importfolder := inboxfolder.Folders.Item(i)
else
inc (i);
end;
if assigned (importfolder)
then
begin
items := importfolder.Get_Items;
i := items.Count;
while i > 0
do
begin
if items.item(i).QueryInterface(_mailitem, opmi) = s_ok
then
begin
mi := items.item(i)
as mailitem;
mi.Subject,
mi.Body, etc.
in Datenbank speichern
mi.Delete;
mi :=
nil;
if items.count < i
then
i := items.Count;
end;
dec (i);
end;
end;
end;
except
end;
Outlook.free;
end;
end;