The iPhone supports push notification of new emails, bit only for Exchange and for Mobile Me. Apple could implement this for IMAP accounts, with the IMAP IDLE command, but this would remove one of the features that differentiates Mobile Me from the other mail services.
GPush is an iPhone application/ service that enables push notifications when receiving new emails at a gmail account. To configure the application, you enter your gmail credentials in the application, and then it validates them with google. When you then receive a new message on that account, a notification will be sent to your phone, and the GPush application icon will display the count of the number of unread messages.
One main reason I am interested in this application is to potentially save battery. I currently have my phone set to check mail every 15 minutes. Theoretically, with this application, I can turn off periodic checks, and I will be notified when a new message is receives. Then I would launch the mail application to actually download the messages.
Unfortunately, it doesn't work that well. I have only received about 10 notifications on my iPhone, for emails that I have received, even though I have received many more email messages. This seems to be a problem on the GPush servers, as I receive more push notifications on the iPhone from Boxcar for direct messages that I receive on Twitter.