Gmail now supports push email, calendar, contacts to Windows Mobile and iPhone
Gmail will now push emails to your phone via Google Sync with the Microsoft ActiveSync protocol. You can view the Windows Mobile version of Google Sync here. Use the same procedure for setting up ActiveSync to Gmail as you do for an Exchange mailbox. Gmail push supports syncing multiple Google calendars and contacts as well as your email.
Excerpts from the original article:
Once you're set up, new messages are normally pushed to your phone within seconds. While this type of speed is pretty awesome, push connections tend to use more power than fetching at intervals, so don't be surprised if your battery life isn't quite what it used to be. We've done a lot of work to optimize power usage, but if you prefer to save battery life, you can always turn off push in your phone's settings and fetch mail every 30 or 60 minutes instead.
You can set up push Gmail by itself or choose to sync your Contacts and/or Calendar as well. If you're using an iPhone, make sure you're running iPhone OS version 3.0 or above (on your device, click Settings > General > About and scroll down until you see Version). If your software is out of date, follow Apple's upgrade instructions. Then, visit m.google.com/sync from your computer for set up instructions. If you're already using Google Sync, you can just enable push mail.