Получение папок Outlook «Входящие» и «Отправленные» в Delphi с использованием OLE

Как лучше всего извлечь папки Outlook из Delphi? В идеале я хотел бы получить папку «Входящие» и любые другие папки внутри нее. Мне не нужны заголовки/сообщения электронной почты, только имена папок.

Делфи БДС 2006


person PDM    schedule 16.02.2011    source источник


Ответы (1)


Подробнее об объектной модели Outlook см. здесь. Ниже отображаются имена папок в папке «Входящие»:

procedure TForm1.Button1Click(Sender: TObject);
var
  Outlook, oNameSpace, Inbox: OleVariant;
  i: Integer;
begin
  try
    Outlook := GetActiveOleObject('Outlook.Application');
  except
    Outlook := CreateOleObject('Outlook.Application');
  end;
  oNameSpace := Outlook.GetNamespace('MAPI');
  oNameSpace.Logon('', '', False, False);   // not sure if this is necessary
  Inbox := oNameSpace.GetDefaultFolder(olFolderInbox);
  for i := 1 to Inbox.Folders.Count do
    ShowMessage(Inbox.Folders[i].Name);
end;
person Sertac Akyuz    schedule 16.02.2011
comment
olFolderInbox это 6 кстати, больше в 'outlook2000.pas' или 'outlookxp.pas' в папке OCX\Servers установки RAD Studio. И «comobj.pas» должен быть включен в пункт «uses». - person Sertac Akyuz; 17.02.2011
comment
Или импортируйте библиотеку типов библиотеки объектов Microsoft Outlook 16.0. - person kStarbe; 01.07.2020