Tuesday, August 11, 2009

Push AOL Mail to the iPhone

Since our push email service works with any IMAP compatible mailbox, there are quite a few services besides GMail that can use it, including AOL Mail. Today we released a service update that gives better support for AOL Mail, including quick configuration on the web site. We did find one AOL-related iPhone quirk so I thought it would be useful to write up complete configuration instructions for an AOL account db1234567@aol.com using NuevaSync account aoltest1:

If you're using a NuevaSync account with an aol.com or aim.com registered e-mail address then service configuration is much easier because the web site notices you may be trying to use AOL Mail and presents a quick setup screen. You only need to enter your AOL password, click yes and you're done:

For folks who like to do things the hard way, here's the full configuration screen filled out for an AOL account:

After verifying that there's a green light in the status display, we can proceed to device configuration. Here's where we need to work around a small issue with the iPhone. Normally we'd enter the AOL email address here:

However, if you do supply an @aol.com address, the iPhone will go into a never-ending spin trying to fetch auto-configuration information from an AOL server (it says "Verifying Exchange account information" but really it's trying to get the server name from the server "aol.com", which of course doesn't have that information to give):

This is similar to the GMail case where the phone tries to fetch config from a Google server and gets an SSL certificate validation error. However in the AOL case it just spins and spins and spins. Other devices such as Windows Mobile allow the user to disable auto-configuration, but the iPhone doesn't. We've found two ways to work around this. The first is to put the phone in flight mode during the account configuration process. This works just fine but it means you lose the chance to confirm the setup is ok because the phone can't test it. The second method is to first enter an e-mail address that doesn't end with aol.com. It can be anything you like. In this case I simply replaced "aol.com" with "nuevasync.com":

This will get you to the next screen without the death-spin syndrome. You can then edit the e-mail address back to the correct @aol.com address and enter the server name http://www.nuevasync.com/.

Clicking next on the screen above should check the username and password and connectivity to the server. Lastly turn calendar and contact sync off unless you're using those since sync performance will be a little faster with them off:

For reference, the resulting setup looks like this. SSL is on, the user's AOL e-mail address is configured, their NuevaSync account, their NuevaSync Password and server name:

And that's it. Open the mail app on the phone and you should see your AOL inbox, and new messages pushed. A bonus vs. GMail is that AOL's IMAP implementation is complete, so message read/unread status is pushed in real time. We did find one potential pitfall with AOL Mail: their SMTP server checks the sender address on messages. GMail's simply replaces the sender address with your account's e-mail address if the device happens to present a different one. In the case of AOL, if the e-mail address configured on the phone does not match the AOL account, then message sending fails. We don't yet have a test for this in the web site, so beware that if you find after configuring that you can't send messages, then probably your e-mail address was mis-typed. It's easy to open the sync account settings page on the phone and change it though.