问题
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
回答1:
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;
来源:https://stackoverflow.com/questions/5022532/retrieving-outlook-inbox-and-sent-folders-in-delphi-using-ole