I have two E-mail servers. Primary Exchange 2007 mail server is in my organisation, and secondary E-mail server is hosted on Google using Google Apps. Sometimes, our primary mail server goes down, and all our mail is sent on Google servers. What I want to do is to automatically forward (or resend) all E-mail messages from secondary mail server to our primary mail server when primary mail server goes up, so users don't have to go on gmail account.
I am not sure what your requirements are. Are all users using Outlook or OWA?
If the Google Apps part really is not needed I would instead set up a postfix as secondary mx and queue up until the primary exchange is available again and the forward all mails from the secondary.
A better solution, but expensive is using at least 4 Exchange servers, 2 fronts and 2 backends. (Actually with Exchange 2010 you would probably need 5. 1 TMG, 2 CAS and 2 DB).
Put the TMG on a high availability solution like VMWare.
Still with that solution a secondary MX to collect when the internet line is down could be needed.