Monday, 9 March 2009

Setting up Push Gmail on the iPhone

On the Android phones, gmail works in push mode. That is to say, you don't need your device to periodically check the server for new mail; when there is new mail it is 'pushed' to your handset, much like when you receive an SMS.

On the iPhone however, gmail does not have the option of being set to push. Instead, you need to choose a refresh period at which the phone will check for new messages.

This is less than ideal - the most frequent checking period you can choose is 15 minutes. Now, I'm not trying to imply that I might receive an email that has a time sensitivity of less than 15 minutes and that this heinous oversight is going to lose me the Fisher account, or anything. No, the main problem is that when you want updates to be very frequent, you pay the price in battery life.

Gmail is my main email service - I have used it for years and absolutely love it. I have no intention of changing. The features that it has for a PC user mean that there is no good reason to change.

On the other hand, Yahoo mail does come with push support on the iPhone. Why? Who knows, but we can use this to our advantage.

Solution

Firstly, you will need to set up a Yahoo account. I happened to get a nicely formed address that was still available (first.last@ymail.com), but it turns out that this doesn't matter. Just get yourself any first123456@ymail.com, etc, type address.

You will not being using your Yahoo account for anything other than reading mails on your iPhone, so the address doesn't matter (don't worry, we've got replying to mails covered too a little later...).

Now, add this mail account to your iPhone as you normally would. This is very straight forward and will take less than a minute or two. You will notice that you have the option of push notification on this account immediately.

The problem that we have is that no one knows this address, so getting push notifications is all well and good but there's no mail coming here to be pushed. So, to address that, go into your gmail account on your PC and go into Settings.

I had to tweak the solution slightly here.

If you don't have any pop accounts forwarded to your gmail account then you can simply choose the "Forwarding and POP/IMAP" option. Here, you choose to forward all mail to your Yahoo account, but leave a copy in gmail (we want to still use gmail as our desktop mail service, remember?).

If you do have pop accounts forwarded to your gmail account then you will need to set up the forwarding somewhere else instead. Choose the "Filters" option and create a new filter that picks up all mail (just enter "*" in the To or From fields) and then choose to have that mail forwarded to your Yahoo account. (This achieves the same end result as above, but if you don't do it this way you will not pick up your pop account mail for some reason...).

Now, to re-cap, we should have gmail sending all its mail to Yahoo, who will kindly push notify you of your messages.

On your iPhone, change your gmail account settings to Manual refresh (Settings > Fetch New Data > Manually. And, Settings > Fetch New Data > Advanced > [gmail account] > Manual)

This will stop you getting a push notification to your Yahoo mail and a fetch notification for your gmail a few minutes later.

(Note: It is important that you leave your gmail account activated on your phone, even though we won't be directly using it here any more.)

Now, when you receive a mail, it will be pushed to your phone and you will get a notification of it. When you read the mail, from within the Yahoo account, you might want to reply. And guess what, you can!

Clicking reply brings up the standard email response screen, but you will notice that there is now a From option. Select this and your CC an BCC options expand, as does the From option. Select this From dropdown and choose your gmail account - and there you have it. Push gmail, with all the functionality you might expect. Test it for yourself - but, I have to say, it is important that you trust me.

I might pretty this article up with some pictures later on.