img img img img img  
Home Development Partners Resellers About  
img   img The Messaging API is a COM-like API that provides access to the contents of messaging stores. "Extended MAPI in Delphi" is a package providing access to Outlook-compatible objects through a COM-based API. Using MAPI, a program can connect to a MAPI store, and then perform operations against that store.
img Extended MAPI in Delphi

Extended MAPI in DELPHI Examples (page 3)

img Applications upon request (You ask - We create)

Request # 1
How to call integrated dialogs in Address Book provider from DELPHI

Since we were asked how one can visualize the AddressBook integrated into Outlook, we developed this small example.
With it we will start our new section "Applications upon request".

MAPI provides 2 types of inbuilt address dialog boxes - modal and non-modal.
It also provides a dialog box for entering new a-mail addresses - New Entry dialog box.

In our example we will review the first two.

ByRequest01EM  as Compiled Application

Source Code: In package
img Request # 2
How to build SIMPLE Mailbox reader (agent) with CDO and DELPHI

We receive many questions, how with CDO (Microsoft Collaboration Data Objects) a developer working on DELPHI can access the Microsoft Exchange Server Information Store. It is easy. A small and very simple MAIL reader can be build for 30-40 minutes (assumed that you know DELPHI and CDO, and have 5-10 minutes for a coffee or tea).

The sample below (Simple MAIL Reader) demonstrates how-to:
  •  Login to Exchange Server
  •  Get available Information Stores
  •  Get and work with Information Store Folders Collection
  •  Get and work with Folder
  •  Get and work with Messages (enumerate, read, delete and send)
  •  Get and work with Recipients
  •  and more

ByRequest02EM  as Compiled Application
CDO 1.2.1 is a 32-bit client library and will not operate with 64-bit Outlook 2010/2013/etc..

Source Code: In package
img Request # 3
How to save attachments and messages from DELPHI

We received questions how the messages and attachments can be saved on the local disk, so we developed this small example.
It is based on a previous example, and we added a new functionality in unit unfrmmessage

How with Extended MAPI a developer working on DELPHI can save attachments and messages w/o using slow Outlook Automation and get Contact/Appointment/E-mail/Journal/Task Subject using Extended Mapi without the security warnings.

ByRequest03EM  as Compiled Application

Source Code: In package
img Request # 4
How to send attachments and messages from DELPHI

In this example that we have developed upon users' request, we have added a functionality for creating and sending a new message. This is done in unit unNewMess. Please note that MAPI spooler is not used in version 10 of Outlook and above, so the message waits in the Outbox folder, unless we are connected to Exchange Server, or Outlook is running.

When the profile that we use has performed a session with Exchange Server, the message is sent and saved in the Sent Items folder

- Save message to outbox folder.
- Add attachments.
- Use integrated Address Book
- Use TO: CC: BCC:
- Resolving Names ...

ByRequest04EM  as Compiled Application

Source Code: In package

img Request # 5
How to implement Extended MAPI in NT Service Application with DELPHI

In this example we will implement NT Service using Extended MAPI in itself. There are two specific characteristics of using Extended MAPI in this case:

- the first is a special flag that informs the MAPI Subsystems hat we are going to work in a service environment
- the second is the fact that when the service works with the rights of a user other than the interactive one, we
need to create a MAPI Profile dynamically and erase it once we have completed the session through MAPILogonEx.

Our service will register the new incoming messages in a certain mailbox in NT Event Log.
You may of course change the functionality of the example according to your needs.
  • Creating of temporary MAPI profile at run-time.
  • Log On to Exchange Server from NT Service with temporary MAPI profile.
  • Implements an Advise method to receive notification registrations.
  • Implements an Unadvise method to receive notification cancellations.
  • Generates notifications of the appropriate type to the appropriate advise sink objects that have registered by calling their IMAPIAdviseSink.OnNotify methods and write it to NT Event Log.
  • Implementing an Advise Sink Object
You can use also for better result SvCom package from ALDYN Software SvCom is an integrated package of classes and tools for development of service applications and use of NT Security framework.

ByRequest05EM  as Compiled Application

Source Code: In package
img Request # 6
How to Read, Delete and Send messages from DELPHI

How with Extended MAPI a developer working on DELPHI can manage messages with attachments.


Source Code: In package
img Request # 7
How to use integrated MAPI Forms from DELPHI (Loading and Creating a Message Into a Form)

In this example we will show you how to use the forms embedded in Extended MAPI.
We will be able to show the elements in our Mailbox - e-mails, notes, calendar entries, contact entries - in the form that we have used to working with Outlook.

We will learn how to use the following interfaces:

- IMAPIFormMgr
- IMAPIMessageSite
- IMAPIFormInfo
- IPersistMessage
- IMAPIViewContext We will build a class called TMAPIFormViewer that implements in itself TInterfacedObject, IMAPIMessageSite, IMAPIViewContext, IMAPIViewAdviseSink.

We will use the capacity of IMAPIAdviseSink to visualize the changes that occur in case of erasing, adding or changing items in the MsgStore container. We will develop a function that will enable us to open a saved Message
From the file system. All w/o using Outlook automation and security warnings!
Using the PrepareForm and ShowForm strategy is comparatively easy.

Support both type of MAPI forms - MODAL and NOT MODAL
  •  Using IMAPISession.PrepareForm
  •  Using IMAPISession.ShowForm
  •  Using IMAPIFormMgr.LoadForm
  • ...
ByRequest07EM  as Compiled Application

Source Code: In package
img The Next Extended MAPI in Delphi Examples
Copyright © 2021 IMIBO
Privacy Statement