A client is in the process of moving to a third-party contacts management system and wants to get all of the contacts out of their various employees' Exchange 2007 mailboxes, clean them up by removing duplicates etc, move them into the new contact management system and delete them from the Exchange mailboxes.
I'm a fairly seasoned C# developer but have never had any need until now to interface with an Exchange Server. Looking around, there seem to be several ways of doing this, and I'm keen to hear other developers' thoughts on the best approach. I'm fine with the rest of the project - it's just the interface with Exchange Server that I need help with. From what I've seen, Exchange Web Services seems to be a popular approach.
To summarise:
1) connect to Exchange Server 2007 with Visual Studio 2012
2) iterate through various mailboxes
3) copy all of the contacts into those mailboxes locally
4) perform the clean-up and de-duplication exercise
5) prepare the cleaned up contacts for insertion into the third-party CMS
6) delete the contacts from the Exchange mailboxes
It's stages 1, 2, 3 & 6 that I need help with.
Thanks
-- Mark Rae ASP.NET MVP http://www.markrae.net