PRB: Calling FlushQueues() Does Not Deliver Messages (188297)
The information in this article applies to:
- Microsoft Extended Messaging Application Programming Interface (MAPI)
- Microsoft Exchange Server 4.0
- Microsoft Exchange Server 5.0
- Microsoft Exchange Server 5.5
This article was previously published under Q188297 SYMPTOMS
Frequently, developers want to have their application work with an offline
store and at a later time send and receive mail by calling
IMAPIStatus::FlushQueues(). Sometimes, FlushQueues() will return success
but no messages are sent or received. The outgoing mail is still located in
the Outbox.
CAUSE
This problem is the result of a limitation of the Extended Messaging
Application Programming Interface (MAPI) spooler. The spooler only checks
for outgoing mail in currently loaded (open) message stores. So, if you do
not currently have a reference to the store via
IMAPISession::OpenMsgStore(), for example, the messages in that store will
not be flushed.
RESOLUTION
In order to ensure that messages in a particular message store are flushed,
call IMAPISession::OpenMsgStore() on that store, call
IMAPIStatus::FlushQueues(), and then release your store pointer.
STATUS
This behavior is by design.
Modification Type: | Minor | Last Reviewed: | 8/18/2005 |
---|
Keywords: | kbAPI kbMsg kbprb KB188297 |
---|
|