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

别来无恙 提交于 2020-01-13 16:45:09

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!