Hacker News new | ask | show | jobs
by WirelessGigabit 855 days ago
2. For 3rd party clients you cannot have a mail client without an intermediate server.

Consider a mail service that only has IMAP-IDLE [1]. iOS's mail does not support that.

So ANY 3rd party to be able to deliver notifications you either have to go through Apple's push notification service (or ask for Local push connectivity [2]). But regardless, it implies that in order for you to trigger the notification (either via Apple to the device, or directly) you must thus know that a new email has popped up. The only way to keep track of this is to use an intermediate server that maintains connection with IMAP-IDLE, and thus needs to know credentials.

[1]: https://en.wikipedia.org/wiki/IMAP_IDLE

[2]: https://developer.apple.com/documentation/networkextension/l...

1 comments

Can you just use the background refresh, and fetch for new emails like every 5-10 minutes or something? Email is not messaging, don't really care if I receive some email 5–10 minutes later, unless I am expecting email (like email verification), than I will be opening the mail app by myself.
Problem with that is that

    earliestBeginDate
means that you can request a no-earlier-than begin date. iOS does not guarantee it will run ON that date, or within x time-units. It merely provides a minimum delay until it MAY get scheduled.
Sure. I understand. But that is something I can leave with. Even just once a day pull the email for me and notify that I have new emails. If I expect anything right now, I will open my email app and refresh it.

I don’t get notifications when my real mail arrives, I just go every other day and check.