- The outbound servers can be found using @DTK's answer
- The inbound servers can be found using @Rex' answer
Both answers are correct but incomplete. Following each answer only provides you with the servers at that particular point in time. Even a week later the servers could be completely different as Google changes their servers very often.
The real solution is not to worry about Google's servers at all. Let a mail server do the job for you. (This is what they are intended to do.) Put a smarthost in "this" network for relaying mails. Relay the mails for Google (*@gmail.com, *@googlemail.com, ...) through the tunnel to another smarthost on "that" network behind the VPN. "That" smarthost does it's job and resolves the MX for Google's domain and delivers the mails to Google.
In that configuration "this" smarthost only has to know that all of Google's mail should first go to "that" smarthost. The network traffic between both of the two servers gets tunneled (and probably firewalled) and is the only connection on port 25. (As both are "your" servers they could even communicate over any port you want).
So you just have to configure any client to use "this" smarthost for mail delivery.
This can be easily done with Postfix (see relay_domains and transport_maps as a start). I could provide you with a working configuration (except the VPN stuff).
smtp
servers, but I also found some real value in DTK's response as well. If another answer for inbound were posted, I'd accept it, but I have since moved on as I found a work around that kind of get's me to where I needed to go (yet a real answer would be helpful).