If you are trying to receive emails using Google Apps, while hosting your own web server somewhere else, then this tutorial may be useful for you.
First of all, I am using Rackspace. But I think this will apply to the general server providers out there.
OK, so first, run this little test and read this page created by google. If you get enlightened, good for you. If not, move on.
Now, see what MX records currently are set on your server. Type the following in a command prompt.
nslookup -q=mx your-domain.com
Try to see if you have the following in the output.
Non-authoritative answer:
your-domain.com mail exchanger = 5 ALT1.ASPMX.L.GOOGLE.com.
your-domain.com mail exchanger = 5 ALT2.ASPMX.L.GOOGLE.com.
your-domain.com mail exchanger = 10 ASPMX2.GOOGLEMAIL.com.
your-domain.com mail exchanger = 10 ASPMX3.GOOGLEMAIL.com.
your-domain.com mail exchanger = 1 ASPMX.L.GOOGLE.com.
If you have that, you should be fine… The problem is probably something else. Continue reading only if you DO NOT get the above output.
Now we will add the above missing MX records to your server.
Log into your rackspace account at: https://manage.rackspacecloud.com/pages/Login.jsp, then click Hosting -> Cloud Servers. In the Server Instances tab, click on your server name. Then click the DNS tab. Then click on your domain name. You will end up at the Domain Records page.
Now simply click the “Add Record” button to add the 5 missing MX records. When you click on the “Add Record” button, for Record Type pick MX, then leave the Record Name blank, then fill in the Mail Server, Priority, and Time To Live accordingly.
Mail Server Priority Time To Live
ASPMX.L.GOOGLE.com 1 300
ALT1.ASPMX.L.GOOGLE.com 5 300
ALT2.ASPMX.L.GOOGLE.com 5 300
ASPMX2.GOOGLEMAIL.com 10 300
ASPMX3.GOOGLEMAIL.com 10 300
After you are done, run the above nslookup command again to make sure the effect takes place. From my experience, it takes about 5 to 10 mins to take effect, but your mileage may vary.