Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

nickday

macrumors member
Original poster
Feb 28, 2008
41
9
Manchester, UK
I have been after reliable push email, using my own domain name, across iOS and Mac, using the default Mac Mail app... and I've finally got it working well using iCloud and Fastmail. I thought this information might be useful for others.

The main reason I wanted to do this was that I'd be sat infront of my Mac, with the iPad and iPhone all nearby - an email would come in and ping on each device at a different time, and often a minute or two later on the Mac. I wanted push across all devices and also keep the Mac Mail app which I prefer over other apps I have tried.

I'd previously tried accounts from Gmail, Office 365 and iCloud (without Fastmail) with problems for various reasons...

Google Apps

  • Supports IMAP IDLE so you get push on Mac Mail, but not on iOS which doesn't support it (unless you use the Gmail app which isn't great).
  • If you use paid-for Google Apps you get Exchange support, which gives you push - but this doesn't support starring/flagging on iOS at all, which is a deal breaker for me.

Office 365 - I used Exchange Online Plan 1

  • Supports Exchange ActiveSync so you get true push on iOS using the Mail app.
  • Mac Mail doesn't support Exchange ActiveSync (EAS), but uses Exchange Web Services (EWS) which isn't the optimum way of accessing an Exchange account. Found this to be totally unreliable - the syncing of read/flag status would often get stuck; there was often a 5 minute delay in pushing etc. There are many reports of Mac Mail being rubbish with Exchange accounts.
  • You can't turn to Office 365s IMAP support for Mac Mail support, since it doesn't support IMAP IDLE, so you get no pushing and would be on a manual fetch schedule.
  • Tried using the new Outlook Mac app (part of Office 365). This uses EWS too rather than EAS, but I found it to be much more reliable with pushing/syncing than Mac Mail - but I didn't like the app at all or want to pay a monthly fee for it.

iCloud

  • Supports IMAP IDLE so you get push on Mac Mail, and Apple's own pushing service for iOS devices.
  • For me I get reliable pushing/syncing on iOS Mail and Mac Mail - BUT bear in mind the restrictions listed at http://support.apple.com/en-gb/HT203545 (i.e. it only pushes new emails, folders/flagging etc need a manual fetch).
  • BUT... doesn't support own domain names...

Solution

I found a solution which meant I could use my own domain name...

  • Create an account at Fastmail - I used the Business Basic service at $30/year.
  • On Fastmail, set up your own domain (here), set up forwarding (here) to forward all emails to your iCloud email address, and disable Fastmail's built in junk protection (as this will be handled by iCloud).
  • On the default personality, tick the "SMTP force from" field. This means that for any email sent via Fastmail's SMTP server, the "From" header will be changed to your domain email address regardless of the "From" address it was sent from. This is important because an iCloud account set up on iOS will always sent email from your @me.com address.
  • On iOS, you just have the iCloud email account set up, but disable the iCloud SMTP server and add the Fastmail server instead (details). This means that all outgoing email from iOS, which goes out as being from your @me.com address, will then be "rewritten" to go from your actual own domain email address by Fastmail's SMTP server. Instructions for iOS are here (but use Fastmail's details rather than Gmail).
  • On Mac Mail, also set the email to go out via Fastmail's SMTP server, and you set a custom alias here to your own domain name.
  • Important: make sure you follow the DKIM instructions at the bottom of here - otherwise in Outlook and Gmail (and possibly others), any email you send will show up as "Your Name <you@domain.com> via messagingexchange.com" as your email is being sent by an external SMTP server. The DKIM amend will mean you are authorising that server to send email on your behalf.
  • Important: add an SPF record to your domains DNS as described here. Not sure if this is required to stop the "via" issue above, but I'd recommend adding it anyway.
  • After updating your MX records to Fastmail, all your email is now automatically and instantly forwarded to your iCloud account, which is then pushed to all your iOS/Mac devices! You set up junk filtering and rules etc using iCloud's webmail.
  • The only thing that isn't covered - if you send outgoing emails using iCloud's webmail, it will still show up as being "From" your iCloud email address, rather than your own domain. Not an issue for me as I've always got an iOS device in easy reach!

Hope that helps somebody! :)

Nick
 
Last edited:
Or pay an additional $18 and get hosting for you domain at Office 365, set up accounts on all devices, and done.

I meant a paid Office 365 account with my own domain, not the free Outlook.com, I'll update the original post. Still had the same issues as above as Mac Mail is notoriously rubbish with Exchange accounts.
 
I have been after reliable push email, using my own domain name, across iOS and Mac, using the default Mac Mail app... and I've finally got it working well using iCloud and Fastmail. I thought this information might be useful for others.

The main reason...

Hope that helps somebody! :)

Nick

Interesting, but the webmail sending FROM: is likely an issue for many I suspect. Good write-up though, 10/10 – me and many others around here enjoy it very much when another site user goes to the trouble of writing up a methodology or fix, so nice one. We need more of that rather than the quick fire-hose problem solving tended to get across forum pages.
(incidentally, I recently wrote up one for how to connect Apple Cinema Displays over a long distance, given the short cable is built-in to the display, unlike most displays on the market, though my method still costs me ~£100. Gee thanks Apple!)


Anyway...
The real underlying questions here are: why does iOS Mail.app support EAS, but OSX Mail.app does not? And vice-versa: why does OSX Mail.app support IMAP IDLE but iOS Mail.app doesn't?
Who thought that idea up exactly, it's entirely mindless from a user perspective. :rolleyes:

With regards to the former. One wonders if this in part a licensing issue (they need MS's approval for EAS, and MS have only given it for iOS...perhaps?), or just Apple simply cannot get their coding act together to make it work properly in OSX...perhaps? Who effing knows these days, as such info seems to be hidden in 'secret' agreements us mere mortals never get the true word on.

Just ridiculous.


Gmail/G-Apps Mail is a joke as well, fancy removing their EAS "push" support from free accounts (don't Google have their own similar "Google Sync" service too, I can't remember...anyway also not supported if they do for free accounts!). While keeping push on paid ones, only AFTER millions of users over the years have signed-up and come to rely upon it as a free service day-in day-out.
Yet, the webmail interface (and presumably their Gmail app?) no doubt (I avoid Gmail; except for Google account sign-in services I have to use), serve-up ads all day long to users for the privilege.

Also quite silly really.
 
Last edited:
I believe if you auto forward mail from Fastmail to iCloud and enough spam gets to your iCloud account (which it will since you turned of the junk filter at Fastmail), then iCloud might blacklist your Fastmail IP because it may interpret it as a spammer account.
Some providers warn their customers not to autoforward mail to accounts that do not provide whitelisting.
 
Excellent write up OP. I've spent so much time myself looking for a solution for many of the exact same reasons:

-Ability to use native Mail.app on iPhone, iPad and Mac
-Push mail to all devices
-syncing of read/change status
-custom domain name
-flagging of mail items

I see how you've landed on a solution that uses iCloud. I guess you deal with the read status updates not being pushed to iOS devices (I did notice you mentioned that restriction). I've been using Google Apps / EAS for so many years and have been used to seeing items mark as read as soon as I have opened them on another device.

With Google Apps and my custom domain I've gotten everything in my list that I've wanted except for ability to flag/star emails. I basically want to be able to flag them on iOS and then see them flagged on my Mac. Doesn't work with Google Apps though. I spent 2 months recently using Office 365 with a custom domain and thought it would have been the solutions - push mail to all devices, push read/change status, custom domain, and flagging email items. Unfortunately though the push was always delayed to Mac mail app. I guess it's partly because of it using EWS and not EAS like you mentioned. It was quite annoying sitting at my Mac during the work day, hearing mail come in through my iPhone, and then waiting 2-3 minutes for it to show up on the Mac.

I really wish Apple would push/sync status of read items as well. At this point I'd be willing to sacrifice custom domain name and jump all in on iCloud for email (though there would still be a work around like you've laid out for forwarding and using custom SMTP server).
 
I really wish Apple would push/sync status of read items as well. At this point I'd be willing to sacrifice custom domain name and jump all in on iCloud for email (though there would still be a work around like you've laid out for forwarding and using custom SMTP server).

I really wish Apple would just allow personal domains with iCloud . . . is the advertising really that worth it to them? Or just the lock-in to their email/ecosystem?
 
I really wish Apple would just allow personal domains with iCloud . . . is the advertising really that worth it to them? Or just the lock-in to their email/ecosystem?

Agreed. I'd guess that it's to keep it as simple as possible.
 
Agreed. I'd guess that it's to keep it as simple as possible.

It's simple as is . . . but can be an added feature (although I guess this is the old Apple debate - if you add optional features, someone gets confused, etc.)

I do think it's to keep you on their platform. The great thing about BYO Domain is that you can move to another provider easily. Apple doesn't really have an interest in letting you do that (and that's probably why MSFT shut off that feature on outlook and google doesn't really make it that easy).
 
It's simple as is . . . but can be an added feature (although I guess this is the old Apple debate - if you add optional features, someone gets confused, etc.)

I do think it's to keep you on their platform. The great thing about BYO Domain is that you can move to another provider easily. Apple doesn't really have an interest in letting you do that (and that's probably why MSFT shut off that feature on outlook and google doesn't really make it that easy).

That's an excellent point, hadn't really thought about it like that.
 
This is indeed a problem I have spent more time on than I care to disclose. IMAP IDLE can't come to iOS because it would drain the battery - so Apple claim!

I've tried Fastmail (this is really truly excellent - regrettably the lack of push is indeed a deal-breaker) - they are working on a new protocol called JMAP which aims to address the inefficiencies associated with IMAP/CardDAV/CalDAV and combine all into one, as well as add push as native. I believe they are talking to Apple and they're interested. They are also in talks with other providers as well, and it is gaining traction quite rapidly. Check out www.jmap.io. Once JMAP is implemented in iOS and Mail.app, I will switch back to Fastmail, but in the meantime I need a provider who combine both IMAP AND Activesync.

I'm currently on Office 365, and putting up with the sluggish syncing on Mail.app and not enjoying it one bit.

I have found a provider called Kolabnow, who are based in Switzerland, and are also going to implement the protocol being developed by Fastmail, JMAP. They provide IMAP/CardDAV/CalDAV and Activesync on Mobile devices. There are a few glitches in their service, such as read flags only syncing from IDLE to Activesync and not vice versa (they have promised to fix this), and also emails arriving approximately 10 minutes late on Activesync, though instantly on IDLE.

There are countless other providers who have tried, but some don't implement IMAP properly, for instance Yahoo! Business Mail didn't implement IDLE - shocking!

I'm surprisingly contemplating Google Apps, though I don't know how well Gmail works with Mail.app - this would hopefully be a temporary solution whilst JMAP is being developed. Pleased to see the progress it's being making. Three providers isn't a bad start.
 
To clarify, apple have granted fastmail access to their proprietary push - no idle but Fastmail is now as good as iCloud mail.
 
To clarify, apple have granted fastmail access to their proprietary push - no idle but Fastmail is now as good as iCloud mail.
It is a bit better than iCloud Mail in fact, as the push triggers not only on arrival of new items, but also upon changes in flags (read/unread, etc) and folders.
 
Wait, how have they implemented push IMAP on iOS within the mail app?
Apparently, it uses Apple's private push mail system for iCloud Mail and various email providers (now FastMail, Yahoo!, QQ, etc), which is built upon Apple Push Notification Service. The initial handshake to set things up is likely handled by the XAPPLEPUSHSERVICE IMAP extension, given the IMAP servers of non-EAS push email providers all promote this IMAP capability.

After setting the stage, apparently Mail would query the IMAP server on every APNS-delivered pushes from the server. Since both side in this case, iOS Mail and FastMail, support CONDSTORE, the query is most of the time a delta request (i.e. what is changed since last sync) on subscribed mailboxes.

Source: FastMail employee on EmailDiscussion, My knowledge, Random results from Google Search
 
Last edited:
Funny thing is that, according to posts on EmailDiscussion, Fastmail actually works better then iCloud. It syncs read statuses among devices unlike iCloud
 
Apparently, it uses Apple's private push mail system for iCloud Mail and various email providers (now FastMail, Yahoo!, QQ, etc), which is built upon Apple Push Notification Service. The initial handshake to set things up is likely handled by the XAPPLEPUSHSERVICE IMAP extension, given the IMAP servers of non-EAS push email providers all promote this IMAP capability.

After setting the stage, apparently Mail would query the IMAP server on every APNS-delivered pushes from the server. Since both side in this case, iOS Mail and FastMail, support CONDSTORE, the query is most of the time a delta request (i.e. what is changed since last sync) on subscribed mailboxes.

Source: FastMail employee on EmailDiscussion, My knowledge, Random results from Google Search

Thanks :)

Funny thing is that, according to posts on EmailDiscussion, Fastmail actually works better then iCloud. It syncs read statuses among devices unlike iCloud

That's quite interesting if true, about pushing/syncing read statuses.
 
  • Like
Reactions: jagooch
Thanks :)
That's quite interesting if true, about pushing/syncing read statuses.
I can confirm it since I'm using it. :)

Funny thing is that, according to posts on EmailDiscussion, Fastmail actually works better then iCloud. It syncs read statuses among devices unlike iCloud
More precisely, if I haven't got the details wrong, it is Apple who chose not to send pushes (which trigger a sync) other than on arrival of new mails. Maybe this is some sort of QoS or performance consideration.
 
  • Like
Reactions: profets
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.