views:

398

answers:

1

Hi,

I've been given the task of writing a small application to help migrate over 400GB of emails sitting in a public folder structure on a linux IMAP server, to a MS Exchange 2010 Public folders.

I've looked at drag and drop with outlook, but there is a problem. Outlook caches all the email locally to a pst file before pushing to Exchange. Currently the limit for these files is 20GB.

Now not being a strong developer in C#, is there a way to use outlook as a connector to both the imap server and exchange and then use C# to walk the folder structure and copy the emails??

What is important is that we don't loose any of the original email header/source data.

I know that the only way to talk to public folders in Exchange 2010 is using the Exchange Web services, however from examples I have seen this may change the email source. I am hoping that outlook will help preseve this data and using the mapi interface negate the need to do these web service calls.

Although I have said that I am using C# I am willing to write this in another language (java, perl, php etc), I just need to come up with something that will help with my problem.

Can anyone in the SO community give me any pointers to help with this problem or point me in the right direction??

Many thanks,

Grant

+1  A: 

I'm afraid it's not possible to migrate data to MS Exchange 2010 without changing the e-mail source. Exchange 2007 no longer stores the actual MIME data (which is the format you get from the IMAP server) and only re-constructs it on-demand. They only store what they call a "MIME Skeleton" - see this MS forum. What I have not found in that forum but observed myself is the that this reverse process doesn't usually produce a message identical to the original one - the content of MIME entities is unchanged, but its structure is often altered - different content-transfer-encodings are used, some headers or added or modified, and so on.

At least that's how messages in user mailboxes are stored - but my guess is that it's the same for public folders. Also, it is possible (although unlikely) that Exchange 2010 behaves differently than Excahnge 2007.

And while I'm not an expert on MAPI, I think that MIME format is not even used in it (Outlook can't even save a message in MIME format), which would make MAPI an unlikely solution for preserving the email source.

So my advice is to do what you already tried - get the e-mail data from the IMAP server in MIME format and store it using Exchange Web Services. We are doing this to move e-mail messahgs from an IMAP server into Exchange 2007 user mailbox and never had any problems with broken e-mails (but then again we don't have 400GB of data).

Lukas Pokorny
Thanks for this, will have to give it ago.
Grant Collins