Items will not archive through the Archive or Journal Task - "The message titled: will not be archived as it is Unsent."
Problem
This can occur against Message objects as well as Contact objects within a User's mailbox. During an Archive Run of the Mailbox Archiving Task, these items will fail to switch to Pending Archive and will not Archive.
Error Message
A Dtrace of the JournalTask or ArchiveTask processes will show error:
IsEligibleForArchive(DistinguishedNameofUser) |The message titled: will not be archived as it is Unsent
DTrace of ArchiveTask(ArchiveTask) <3344> EV:H :CArchivingAgent::IsEligibleForArchive() |Entering routine |
(ArchiveTask) <3344> EV:L :CArchivingAgent::IsEligibleForArchive(DistinguishedNameofUser) |The message titled: <Subject> will not be archived as it is Unsent |
(ArchiveTask) <3344> EV:H :CArchivingAgent::IsEligibleForArchive() |Exiting routine |
DTrace of JournalTask(JournalTask) <6748> EV:H :CArchivingAgent::IsEligibleForArchive() |Entering routine |
(JournalTask) <6748> EV:L :CArchivingAgent::IsEligibleForArchive(DistinguishedNameofUser) |The message titled: <Subject> will not be archived as it is Unsent |
(JournalTask) <6748> EV:H :CArchivingAgent::IsEligibleForArchive() |Exiting routine |
Note: For Contacts, the <Subject> will be the name of the Contact.
Solution
When an item is detected as Unsent, Enterprise Vault will NOT automatically archive the item.
To determine the current state of the Message, the IsEligibleForArchive Process will check the PR_MESSAGE_FLAGS value on the message.
To manually read the PR_MESSAGE_FLAGS property, a MAPI utility is required to browse the MAPI properties of an item (Ex. MFCMapi or OutlookSpy)
Note: MFCMapi.exe (Microsoft Exchange Server MAPI Editor) is a Microsoft utility that can browse and display relevant information for specific Extended MAPI interfaces.
Below is a list of values for PR_MESSAGE_FLAGS:
MSGFLAG_READ = 1
MSGFLAG_UNMODIFIED = 2
MSGFLAG_SUBMIT = 4
MSGFLAG_UNSENT = 8
MSGFLAG_HASATTACH = 10
MSGFLAG_FROMME = 20
MSGFLAG_ASSOCIATED = 40
MSGFLAG_RESEND = 80
MSGFLAG_RN_PENDING = 100
MSGFLAG_NRN_PENDING = 200
The values presented above can be combined within this PR_MESSAGE_FLAGS property.
Ex. If a message is READ
and UNSENT
, the PR_MESSAGE_FLAGS value will be "9" (1( READ
)+8( UNSENT
)).
In order for these items to be automatically archived, the PR_MESSAGE_FLAGS value must be edited by a MAPI Properties Editor to remove the UNSENT Tag.
Ex. By changing the PR_MESSAGE_FLAGS value from 9 to 1, this will remove the UNSENT (8) attribute but keep the READ (1) attribute.
Note: Changing the properties of a message object manually may result in unexpected results and should not be performed without the guidance of Microsoft.
It is recommended to backup the items prior to editing them for roll-back purposes. The PR_MESSAGE_FLAGS Property Tag is modified by Microsoft Exchange.
Veritas Enterprise Vault does not modify this property at any point of the archiving process. For mass changes to multiple items, it is recommended to engage Microsoft.
How to edit the PR_MESSAGE_FLAGS Property Tag manually using MFCMapi:
1. Download and Extract MFCMapi.exe from Microsoft.
2. On a workstation with an Outlook profile to the affected mailbox, start the tool by double-clicking on the mfcmapi.exe file.
3. From the tool bar select Session - Logon and Display Store Table.
4. Choose the profile for the mailbox to access.
5. In the Display Name column locate the entry Mailbox - <User Name>. Highlight and double-click this entry.
6. In the left-hand pane, expand Root Container then expand Top of Information Store and highlight the Inbox.
- From this point, locate the Sub-folder where the item is present. Highlight this Sub-folder and double-click to open the MAPI contents.
7. Identify the affected messages by the From, To, Subject and Received attributes.
8. Once located, highlight the affected message.
9. On the bottom pane, the Property Names will be displayed. Double-click on the PR_MESSAGE_FLAGS Property Name.
10. Under Edit property, change the PR_MESSAGE_FLAGS Value (Unsigned Decimal) to remove the MSGFLAG_UNSENT Flag (As referenced above).
11. Select OK and confirm the PR_MESSAGE_FLAGS Property Name Value is listed properly.
Note: For single instances of this issue, the appropriate workaround would be to manually archive the affected items via the Enterprise Vault Client Add-in Store in Vault option. Archiving items manually will bypass the IsEligibleForArchive process altogether.