Risky business
Okay,
This is a pretty serious project. But we don't know what the goal of the project is. And the people making decisions have no material expertise to base their decisions on. That seems like a bad idea (and business as usual for an IT project, unfortunately).
Since the decision is apparently made without any technical input, there is no need for an analysis of costs.
A bulletproof way of doing it:
- Determine target system requirements (storage, network, backup, load balancing, etc.) based on technical requirements, current usage (storage, backup, bandwidth) and specifics of the intended target email platform (i.e. some systems store mail more compactly than others).
- Acquire target platform hardware and software.
- Install target platform hardware, software, tools for client connectivity, backup etc.
- Set up the new mail platform to send mail via the old mail server
- Test target email platform and client software with a limited number of accounts.
- Test the backup solution for your new system.
- Create a user manual for the new platform and client tools, detailing how to preform basic operations in the new platform (reading and sending mail, scheduling meetings) and some advanced topics (i.e. out of office notifications, sorting mail into subfolders etc.)
- Create a backup of the target system
- Migrate/import/create all mail accounts (but not mailboxes) to the new platform. This may be done with a bulk creation (e.g. from AD) or with a (power)shell script.
- Check that accounts were created correctly. Roll back if not.
- Create a backup of the old system.
- Set up forwarding rules from the old system so mail delivered to the old platform also get delivered to the new platform. Probably with a with a (power)shell script, although some mailservers may accept more generic rules.
- Check that the forwarding rules work. Roll back if not.
- Create a backup of the new system
- Migrate a handfull of mailboxes to test the mailbox migration process
- Check that mailboxes were migrated correctly. Roll back if not.
- Create a backup of the new system
- Migrate all mailboxes
- Check that mailboxes were migrated correctly. Roll back anyway.
- Plan a final migration date, notify users of impending changes and downtime
- Distribute the user manual to all users
- Create a backup of the new system
- Migrate all mailboxes
- Test that mailboxes were migrated correctly. Panic if it didn't work.
- Change MX records to deliver mail directly to new server
- Route mail from new platform directly to destinations
- Change SPF records (if any).
Once you know what your source and destination platform are, people may be able to suggest useful tools to help automate the migration process.