Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How can my program scan all email messages?

7 views
Skip to first unread message

Chris Shearer Cooper

unread,
May 29, 2007, 11:52:33 AM5/29/07
to
My (C++ MFC) program needs to be able to scan all email messages found in
Outlook and/or Outlook Express and provide the user with information about
them. I need to know, for each email message, basic information like
date/time, sender, text, subject, and then I need access to any attachments.
I will not be sending any messages, receiving any messages, scanning the
contact list, etc.

I've seen a lot of different ways for programs to communicate with Outlook
and Outlook Express (MAPI, Extended MAPI, etc.) but nothing that really
summarizes which approaches work for which versions of Outlook and Outlook
Express, and which version of Windows. For example, I've seen web pages
that recommend Extended MAPI to avoid triggering security prompts, but (1) I
don't think I'm doing anything that would trigger a security prompt, and (2)
I don't know if (for example) early versions of Outlook Express running on
Windows 98SE even had Extended MAPI.

This is going to run on retail customers personal computers, so I can't
assume they will have Exchange running.

Does anyone have suggestions ...
(1) which approach (MAPI, Extended MAPI, etc.) would allow me the limited
amount of information I need to access, and support the greatest range of
versions of Outlook and Outlook Express and also versions of Windows
(without installing additional DLLs)
(2) a library (commercial or free) that handles a lot of the grunt work for
me?

Thanks!
Chris


Dmitry Streblechenko

unread,
May 29, 2007, 2:04:11 PM5/29/07
to
Outlook and Outlook Express are completely separate products. The only thing
shared between them is the word "Outlook".
The only common API exposed by both applications is Simple MAPI, but it only
allows to enumerate messages in the Inbox folder.

For Outlook, you can use Extended MAPI (C++/Delphi only), CDO 1.21 and
Outlook Object Model. For that latter two, the security prompts will be
shown if you access any sensitive properties that can potentially contains
e-mail addresses, such as the sender name/address.
See http://www.outlookcode.com/article.aspx?id=52 for possible workarounds.

For OE, see http://msdn2.microsoft.com/en-us/library/ms709546.aspx

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Chris Shearer Cooper" <chri...@sc3.net> wrote in message
news:135oj22...@corp.supernews.com...

Michael Santovec

unread,
May 29, 2007, 6:10:33 PM5/29/07
to
There is no API for Outlook Express to access messages. The only MAPI
support in Outlook Express is for sending messages.

Microsoft doesn't even provide any documentation on the format of the OE
DBX files, where messages are stored.

There is a 3rd party program that can provide some of the information
that you need, but I don't believe that it has any program interface for
you.

OEX Enhancements - Import/Export/Resend/Duplicates/Attachments, etc.
http://www.oehelp.com/OEX/Default.aspx

--

Mike - http://pages.prodigy.net/michael_santovec/techhelp.htm


"Chris Shearer Cooper" <chri...@sc3.net> wrote in message
news:135oj22...@corp.supernews.com...

Steve Cochran

unread,
May 30, 2007, 3:52:14 AM5/30/07
to
See here for the OE API's, such as they are:
http://msdn2.microsoft.com/en-us/library/ms709546.aspx

There are also some dll's at www.nektra.com that I haven't tried.

As Michael indicated you can use my OEX program as well
(www.oehelp.com/OEX/) to extract the messages and their components.

steve

"Chris Shearer Cooper" <chri...@sc3.net> wrote in message
news:135oj22...@corp.supernews.com...

Chris Shearer Cooper

unread,
May 30, 2007, 2:19:19 PM5/30/07
to
Thanks ... looking at the msdn page, they list the APIs, but in typical
Microsoft style, they don't say which versions of OE support which
functions. Any idea?

I've got an email off to nektra to get more details on their product.

Your OEX program is only sold as a standalone product, right? What I need
is more of an API library kind of thing. Do you sell that?

Thanks,
Chris

"Steve Cochran" <scoc...@oehelp.com> wrote in message
news:989F3667-82C1-447F...@microsoft.com...

Steve Cochran

unread,
May 30, 2007, 3:49:06 PM5/30/07
to
Hi Chris,

I don't have a library for sale. That's why I suggested nektra.

For the OE stuff, you basically have to look at the include files to see
what you have available. The documentation is not very helpful.

steve

"Chris Shearer Cooper" <chri...@sc3.net> wrote in message

news:135rg18...@corp.supernews.com...

0 new messages