Deleted messages, deleted item retention time, and recovering deleted items

Deleted messages, deleted item retention time, and recovering deleted items

Post by Keith Ingall » Tue, 06 Apr 1999 04:00:00



I'm working with Exchange 5.5 and I need to track messages within Public
Folders that have been deleted/marked for deletion by a user, but have not
been purged by the Exchange server because the Exchange Admin has configured
the Public Folder(s) with a non-zero "Deleted item retention time".  I am
working with information associated with MAPI messages that is
kept/maintained outside of Exchange and I would like to maintain that
information when the message is "deleted" but still recoverable from a
general users standpoint using "Recover Deleted Items...".  That way when
the message is recovered,  the external information is still available.
Only when the message has really been deleted/purged will the external info
be purged as well.  With an Outlook extension, I have control over the
initial "delete" process, but I haven't seen any documentation that defines
any special MAPI properties a message has when it has been deleted (and not
purged) nor have I found any information on how Outlook is able to
find/display deleted messages within the "Recover Delete Items..." Tool
option.

Using a sample program, I can open a public folder, call QueryRows to get a
message (save off the message's ENTRYID) , call GetMessageStatus to obtain
its status and then call DeleteMessages to delete the message.  With the
"Deleted item retention time" set on the test folder, I can repeatably call
GetMessageStatus on that message passing in the saved message ENTRYID and
successfully access the message.  If I then go to an Outlook client, select
"Recover Deleted Items ..." under the Tools menu I can see the deleted test
message.  If I then "Purge" the deleted message, calls to GetMessageStatus
with the saved ENTRYID now fail.  This is fine as far as detecting when a
"deleted" message is purged, but it doesn't tell me if the message has been
recovered.

Ultimately, I would like to know a message has been marked for deletion by
the presence of one or more properties within the message.  There is a
property PR_MSG_STATUS that looks like it fits the bill, but its use is
defined by a client and is not maintained by the Exchange server itself.
Calling GetMessageStatus against a deleted message does not show that the
message is marked for deletion.  I can call SetMessageStatus to set status
bits and I can successfully retrieve them with GetMessageStatus, but after
all is said and done, Exchange just passes this info along unchanged.

Another possibilty is to somehow see/detect deleted items the same way as
the Outlook "Recover Deleted Items..." Tool does.  Given a public folder, it
is somehow able to show deleted items that are in the folder.

Hopefully, the presence of a property which tells me a message has been
deleted will also tell me by its absence that the message has been restored.
Similarly, if I can see/detect deleted messages within some special MAPI
deleted items cache/table then I can tell a message has been restored by the
fact that it isn't in the cache/table.

Thanks in advance,
Keith Ingalls

 
 
 

1. Deleted messages, deleted item retention time, and recovering deleted items

I'm working with Exchange 5.5 and I need to track messages within Public
Folders that have been deleted/marked for deletion by a user, but have not
been purged by the Exchange server because the Exchange Admin has configured
the Public Folder(s) with a non-zero "Deleted item retention time".  I am
working with information associated with MAPI messages that is
kept/maintained outside of Exchange and I would like to maintain that
information when the message is "deleted" but still recoverable from a
general users standpoint using "Recover Deleted Items...".  That way when
the message is recovered,  the external information is still available.
Only when the message has really been deleted/purged will the external info
be purged as well.  With an Outlook extension, I have control over the
initial "delete" process, but I haven't seen any documentation that defines
any special MAPI properties a message has when it has been deleted (and not
purged) nor have I found any information on how Outlook is able to
find/display deleted messages within the "Recover Delete Items..." Tool
option.

Using a sample program, I can open a public folder, call QueryRows to get a
message (save off the message's ENTRYID) , call GetMessageStatus to obtain
its status and then call DeleteMessages to delete the message.  With the
"Deleted item retention time" set on the test folder, I can repeatably call
GetMessageStatus on that message passing in the saved message ENTRYID and
successfully access the message.  If I then go to an Outlook client, select
"Recover Deleted Items ..." under the Tools menu I can see the deleted test
message.  If I then "Purge" the deleted message, calls to GetMessageStatus
with the saved ENTRYID now fail.  This is fine as far as detecting when a
"deleted" message is purged, but it doesn't tell me if the message has been
recovered.

Ultimately, I would like to know a message has been marked for deletion by
the presence of one or more properties within the message.  There is a
property PR_MSG_STATUS that looks like it fits the bill, but its use is
defined by a client and is not maintained by the Exchange server itself.
Calling GetMessageStatus against a deleted message does not show that the
message is marked for deletion.  I can call SetMessageStatus to set status
bits and I can successfully retrieve them with GetMessageStatus, but after
all is said and done, Exchange just passes this info along unchanged.

Another possibilty is to somehow see/detect deleted items the same way as
the Outlook "Recover Deleted Items..." Tool does.  Given a public folder, it
is somehow able to show deleted items that are in the folder.

Hopefully, the presence of a property which tells me a message has been
deleted will also tell me by its absence that the message has been restored.
Similarly, if I can see/detect deleted messages within some special MAPI
deleted items cache/table then I can tell a message has been restored by the
fact that it isn't in the cache/table.

Thanks in advance,
Keith Ingalls

2. REBUILDING EX 5.5

3. Disaster Recovery

4. Unable to recover items in Deleted Items Retention folder

5. hlp pls - internet users error - 'required privilege is not held by client'

6. Recover Deleted items not touching Deleted Items folder - Apply Everywhere

7. Restoring a single mailbox

8. Recovering Deleted Items when purged from Deleted Item Recovery

9. Deleted mail items are not available for recovery under Recover Deleted Items

10. Recover Deleted items not touching Deleted Items folder - Apply Everywhere

11. Deleting Messages from Inbox, Sent Items and Deleted Items

12. Shift-Delete vs deleted item retention?