When migrating from an internal email system to Google Apps, it’s nice to have the option of running a pilot program including a few of your users to try it out, and then to move the rest of the users over when problems with the transition have been identified and addressed. This is pretty easy to do with the mail routing options provided by Google Apps. Once the Google MX records are set for your domain, mail can be routed globally, for the domain, to your existing mail server via the Google Apps administrative interface. Then, on an individual bases, this routing can be turned off so that mail flows only to the Google account. This pretty much sums up the information available on Google about how to run a pilot using Google’s mail routing.
But there’s one important piece missing. What happens on your local mail server when the users who are not in the pilot send mail to the users who are in the pilot?
The mail gets delivered locally.
Mail to pilot users needs to be forwarded somehow to the Google account. This can be done by using an intermediate domain for mail routing purposes. Using another domain you control which is not a local domain for your internal mail server, set up a domain alias in the Google Apps account, and add the Google MX records for that domain. Then, using .forward or other forwarding method appropriate to your system, forward each pilot user’s mail to his or her account on the intermediate domain. Your internal mail server will send it to the Google Apps mail servers, and it will be delivered to the user’s account via the domain alias.
Just make sure that the pilot user’s individual Google Apps mail setting, you uncheck “inherit routes from domain”, because if the user’s mail continues to be routed to the internal mail server, a loop will occur.
So, to illustrate with an example:
The Example Company is migrating its email to Google Apps from an internal mail server running sendmail and a POP server. They set up example.com on Google Apps, and point the MX records to Google mail servers as described in the Google documentation. In their email service settings for the domain, they route email for all provisioned users to mx.example.com, their legacy internal mail server. They now have a dual delivery setup, where mail is being delivered both on Google Apps and on the internal mail server. Their pilot users can work with the Google interface or connect with POP or IMAP while the legacy users connect to the old server. But when local legacy users send mail to the pilot users, it is delivered locally. It never makes it out to Google. So the Example Company sets up example2.com, a domain which is not being used on their legacy internal mail server, as a domain alias on Google Apps. Once the MX records are set up for example2.com, the Example Company’s sysadmin can create a .forward file for the pilot user that forwards the local user’s mail to firstname.lastname@example.org. In this way, the user’s mail originating from the legacy server finds its way to the email@example.com account on Google Apps.