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 o开发者_如何学Pythonther folders within it. I don't require the email headers/message just purely the folder names.
Delphi BDS 2006
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;
精彩评论