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.