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.
↑ Back to the top
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.
↑ Back to the top
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.
↑ Back to the top