Code: Select all
MailEnable.Store storeMessage = new MailEnable.Store();
storeMessage.StoreFolder_Open("<MailboxName>", "INCOMING", "\\Inbox", storeMessage.MessageClass, 1);
if (storeMessage.StoreFolder_FindFirstItem() == 1)
{
do
{
...
... //Processing Occurs here
...
}
while ((storeMessage.StoreFolder_FindNextItem() == 1));
}
storeMessage.StoreFolder_FindClose();
storeMessage.StoreFolder_Close();
When the processing of a message has completed i want to delete the message, so somewhere in the do.. while loop i make a call to a delete message method. The Delete Message method originally looked like this:
Code: Select all
public static void DeleteSingleMessage(string messageID)
{
long lResult = 0;
MailEnable.Store storeMessage = new MailEnable.Store();
storeMessage.StoreFolder_Open("<MailboxName>", "INCOMING", "\\Inbox", storeMessage.MessageClass, 1);
lResult = storeMessage.StoreFolder_DeleteItem(messageID);
lResult = storeMessage.StoreFolder_Save();
storeMessage.StoreFolder_FindClose();
}
Code: Select all
storeMessage.StoreFolder_FindClose();
I was able to resolve this issue by using a single instance of the MailEnable.Store object in my application and passing that in as a parameter to the delete message method.
Code: Select all
public static void DeleteSingleMessage(string messageID, MailEnable.Store storeMessage)
{
long lResult = 0;
lResult = storeMessage.StoreFolder_DeleteItem(messageID);
lResult = storeMessage.StoreFolder_Save();
}
Thanks for your time!
-Mark