Outlook Express Addon

Hello all,

I'm in urgent need of writing an Outlook Express 5 addon (plugin?), that could check all incoming emails for some parameter and then do something to them (e.g. move to another folder or delete). Outlook rules won't do the job - I have a kind of complicated condition set.

All I need to know is how to write such things. Please notice - target software is Outlook Express, not Outlook 9x or 2000.

I'm setting 200 points for this question now. If someone will lead me to a place with direct information about OE programming (components, API etc), or even provide some samples I will raise points upto 500 and gladly award them to my lifesaver. I need this information very much.

Thank you all in advance.
Who is Participating?
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Umm I am not sure but I don't think OE has any API's or any direct way to interact with any Incoming of Outgoing mail. I know Outlook does but have not ran across any for OE.

The Crazy One
 There may be something in this PAQ http://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=delphi&qid=10481938 that might help you. The comment order has been screwed up, but you might still find the links contained usefull

I think you'll find that CrazyOne is right.  Outlook Express has no APIs and no COM interface (that I have ever heard of).

Symantec's Norton Antivirus filters mail before it arrives in Outlook Express, but it does it by becoming your "intermediate" mail client and server.  I'm not 100% sure on how it works, but from what I can see, Outlook Express actually connects to Norton Antivirus and then NAV communicates with your ISP.  Instead of having, say mail.yourserver.com as your POP/SMTP server, you have (local host), and then NAV contains the correct addresses for each account.

I think if you want to do any mail filtering before actually receiving the mail, this will be the only way I can see you could do it.

arkamaxAuthor Commented:
Stuart: thanks, I already thought of this solution... but this is not a way out because client doesn't want it to be so.

I've heard that OE supports a subset of MAPI - Simple MAPI. Can I do something with that? E.g. two main tasks are:

1. Get notification when mail has come

2. Check inbox mails for something special.

To get a notification from the MAPI Message store when new mail arrives, you need Extended MAPI. You can place a thingy called an Advise Sink on the inbox message store.

With simple MAPI you can iterate through the INBOX messages, but you don't have access to folders. Again, you should use Extended MAPI for this.

I implemented a module that categorised incoming e-mail into a database some time ago, and I'll have to check if OE is MAPI compliant (I think so), but I think it could be a sollution to this problem.

Programming Extended MAPI with Delphi is a b****, and you'll need some units that are not shipped with Delphi, but it can be done...

I was working on an Info page 'bout ExMAPI, but never finished it. However, the units you need for ExtendedMAPI are there: va.demanvakbo.dhs.org/downloads

You can look in MSDN for details and examples regarding extended MAPI programming. I don't have access to more documents about ExMAPI right now, but I will post them as soon as I'll find them.
arkamaxAuthor Commented:
kramer42: thanks for your input, I would appreciate it very much if you could have a look whether OE can work with MAPI and how to get this thing done.

From the URL posted by CrazyOne (above):

"Programmatic access to, or control of the Microsoft Outlook Express client is not supported. Simple MAPI is the only supported access to Outlook Express messages."

arkamaxAuthor Commented:
OK - would it be possible to check inbox messages in OE? I didn't managed to find how...
The 'Example for Advise Sink notification' link on http://va.demanvakbo.dhs.org/downloads contains a unit which implements a TMailNotifier object. With it, you can register for NewMail notifications. When a new e-mail messages comes in, MAPI transfers control to the advise sink in the MailNotifier, and passes the whole incoming message to it. That way you could store the message some place.

Checking the messages in the INBOX can easily be done with Simple MAPI. Check the Delphi win32 Helpfiles for that (look for MAPILogon or something).

I would be surprised if OE isn't MAPI complient. It uses the mail-accounts and profile structure also used by MAPI.

I also placed a MAPI guide at the above URL. It contains examples in VB, but still, it could be helpful :-)...

If the message has already been dropped into the inbox then unless you can figure out how to read the Inbox.dbx file then I doubt these messages can be looked at. I believe that all that can be done is to intercept the email before it gets to OE but even after that has been accomplished then it does not appear to be possible to tell OE what to do with it. Is it possible that your client might be convinced to move over to Outlook 98 or 2000? If so then you could programmatically do things with these email clients. :>)
arkamaxAuthor Commented:
CrazyOne... problem is that my client is willing to release this sofwtare as a freeware, which erases all possibilities to upgrade... anyway, thanks for your offer.

2 all - I will wait a little bit more, maybe someone will come up with some more news about this. Then I will add some points and we will split them.

Thank you all!
Question(s) below appears to have been abandoned. Your options are:
1. Accept a Comment As Answer (use the button next to the Expert's name).
2. Close the question if the information was not useful to you. You must tell the participants why you wish to do this, and allow for Expert response.
3. Ask Community Support to help split points between participating experts, or just comment here with details and we'll respond with the process.
4. Delete the question. Again, please comment to advise the other participants why you wish to do this.

For special handling needs, please post a zero point question in the link below and include the question QID/link(s) that it regards.
Please click the Help Desk link on the left for Member Guidelines, Member Agreement and the Question/Answer process.  http://www.experts-exchange.com/jsp/cmtyHelpDesk.jsp

Please click you Member Profile to view your question history and keep them all current with updates as the collaboration effort continues, to track all your open and locked questions at this site.  If you are an EE Pro user, use the Power Search option to find them.

To view your open questions, please click the following link(s) and keep them all current with updates.

------------>  EXPERTS:  Please leave any comments regarding your closing recommendations if this item remains inactive another seven (7) days.  Also, if you are interested in the cleanup effort, please click this link http://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=commspt&qid=20274643
Thank you everyone.
Moderator @ Experts Exchange

P.S.  For any year 2000 questions, special attention is needed to ensure the first correct response is awarded, since they are not in the comment date order, but rather in Member ID order.
Umm not to blow my horn or anything but I think the MS KB article link I posted pretty much tells the story. A MAPI client has to be installed on the machine to be able to what is being asked. OE is not MAPI complient but Outlook is.
Comment from expert accepted as answer.

E-E Moderator
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.