05-14-2013 08:09 AM
Hi
Environment is 9.0.2
We need to re-export some old messages from our IM capturing system (this system emails the Exchange journal mailbox, which gets archived by EV).
However, I want the received date of the messages to be 3 months ago which is an accurate representation of when the IM chat took place, so when the email gets archived by EV and then searched for in DA, it will appear to be 3 months old instead of brand new.
Is it possible to do this? I was thinking of getting all of the messages into a new journal mailbox, then having some process (e.g. script) which will modify the received date of the messages, then turning on archiving of that new mailbox.
Any suggestions?
Solved! Go to Solution.
05-14-2013 09:09 AM
Well, I tested it.
I used Outlook Spy to change the PR_MESSAGE_DELIVERY_TIME attribute:
The first of those message is regular Exchange journal item, with envelope journaling enabled. The second message is a random mail. It's that one which I backed the date/time on. After the journal archiving task got the mail, here it is in the archive:
So .. it seems to work.
05-14-2013 08:17 AM
You can do this via script/code... but it's not possible to do it with just EV.
05-14-2013 08:21 AM
Ok fine, but is the above process sound? i.e. get the items into the journal mailbox with archiving turned off, change the dates via OutlookSpy or something, then archive? thanks
05-14-2013 08:43 AM
I could be wrong but i'm pretty sure when i looked in to this that Create Dates, modified dates, submit dates are purely read only, and i think Outlook Spy won't change them either, you'd have to hex edit the items
You wouldn't be able to change this either in the SQL Database because the SSID uses archived date and sent/received date, so changing that would break it, and it wouldn't update the indexes either
If the items already exist in an archive, when you export the items out to a PST file, it will have sent/received dates of that particular date and time, if you were to re-import the items it will take across those same sent/received dates, it will be the modified date on the item and the archived date going back in to EV that will be updated
The Archived Date won't have a bearing on how DA searches for items.
So for instance if i have a journal that has say items from 01/01/2011
If i export that to PST, it will still have a Sent/Received date of 01/01/2011
If i import it back in to EV or push it back in to a journal mailbox and let EV Archive it, it will have a sent received date of 01/01/2011 BUT the archived date will be today, 05/13/2013
This would just mess up Storage Expiry, so if i wanted to expire anything after 3 years, although to begin with it would have expired on 01/01/2014, now it will expire on 05/13/2017 (based on archived date and not modified date)
Another alternative you have, assuming there are no legal holds and you are going from EV to EV is to run Move Archive that will keep all the metadata (Archived date, sent/received date) etc the exact same, but it will move everything in that archive, not just particular items....
Transvault and other migration products also have the same functionality
05-14-2013 08:56 AM
Thanks JW, none of these items have been archived yet, so there is no importing/exporting going on, nor is this migrated data. This is email data that we did not journal originally, that I need to journal, but I want to change the dates. I'll have a play with editing the dates in the journal mailbox before the items gets archived and report back.
05-14-2013 09:09 AM
Well, I tested it.
I used Outlook Spy to change the PR_MESSAGE_DELIVERY_TIME attribute:
The first of those message is regular Exchange journal item, with envelope journaling enabled. The second message is a random mail. It's that one which I backed the date/time on. After the journal archiving task got the mail, here it is in the archive:
So .. it seems to work.
05-14-2013 09:10 AM
OK so hang on, what format are they in at the moment?
i take it that they have no sent/received dates, or when you tested putting them in to the journal it put a sent/received date of today on it right?
05-14-2013 10:28 AM
Thanks Rob, you beat me to the punch!
JW, the items currently don't exist, they will be regular emails once they are exported (emailed as SMTP emails) out of our IM capturing tool (Vantage). When they arrive in the journal mailbox, I want to change their received date so when they get archived, they appear to be received 3 months ago.
05-14-2013 10:30 AM
05-14-2013 10:33 AM
I'm pretty sure I've seen this behaviour when previously exporting old stuff out of Vantage - the sent date is correct (the date of the IM conversation) but the received date is when the item is received into the journal mailbox, and believe DA uses that date. Will run some tests and posts back.
05-14-2013 10:52 AM
I've confirmed this is the case. I exported an old IM from Vantage.
The IM conversation date was Sun 4/14/2013
Sent date on the email sent by Vantage was Sun 4/14/2013
Received date was Wed, 8 May 2013 (when the email was journaled and archived by EV)
Doing a search in EV via web search and DA, the date shows Wed, 8 May 2013
So I do need to proceed with this and change the received date on the old items I plan on exporting from Vantage.
05-14-2013 01:11 PM
Are you intending the change the data that I suggested?
05-14-2013 01:25 PM
Yes, I have just tested in my environment using OutlookSpy with the same results, looks good. Going to write a script to bulk modify the PR_MESSAGE_DELIVERY_TIME attribute on messages that I will reexport from Vantage. Good result.
05-14-2013 01:39 PM
Okay - great.
05-14-2013 02:43 PM
One of the handy scripting guys here came up with this, hope it helps someone:
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set Msg = Session.GetFolderFromPath("Inbox")
for each item in Msg.items
item.ReceivedTime = "2/12/2013 12:00 AM"
item.Save
next
05-14-2013 02:53 PM
05-14-2013 03:20 PM
That's a great idea, you're right. In this case, all the messages are from the same date so not really an issue, but here 'tis:
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set Msg = Session.GetFolderFromPath("Inbox")
for each item in Msg.items
item.ReceivedTime = Item.senton
item.Save
next