PDM
PDM

Reputation: 603

Retrieving Outlook 'Inbox' and 'Sent' folders in Delphi using OLE

What's the best way to go about extracting Outlook folders from within Delphi? Ideally I'd like to retrieve the Inbox folder and any other folders within it. I don't require the email headers/message just purely the folder names.

Delphi BDS 2006

Upvotes: 3

Views: 3582

Answers (1)

Sertac Akyuz
Sertac Akyuz

Reputation: 54812

See here for Outlook's Object Model. Below displays the names of folders in the Inbox:

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;

Upvotes: 8

Related Questions