The standard method for checking for new incoming emails as recommended by the IMAP specification is to maintain an open IDLE connection to the email server. This is how most desktop email clients, such as Canary Mail for macOS, check for new mail.
On mobile devices like Android and iOS, it is impossible to reliably maintain an open IDLE connection to the email server due to several limitations. For example, an app cannot access CPU and network resources when it is in a suspended state or has been force-quit by the user, or due to other restrictions imposed by the OS (eg low power mode).
To workaround these restrictions, Canary Mail offers two methods for checking new mail on mobile. One is on-device Fetch, where Canary periodically queries the email server to check for new mail. The advantage of using Fetch notifications is that new mail is fetched directly by the user’s own device and all data, including account credentials, is stored locally only.
Unfortunately, this method leads to some delay between the arrival of the new email, and the user being notified of the same, typically under ~15 minutes since the email server can only be queried periodically, and not continuously.
However, since both iOS and Android do not guarantee access to CPU and network resources in a variety of situations, including when the app is in a suspended state or has been force-quit by the user, the delay in receiving notifications for new mail can vary considerably and unpredictably.
This is why Canary Mail offers a second method for checking for new mail, called Push, since it relies on a Push notifications server. The advantage of using a Push notifications server is that an IDLE connection to the email server is maintained reliably by the server instead of the user’s device, and as a result the user is notified of new incoming mail instantly and reliably, regardless of whether the app is in the foreground, background, is in a suspended state, or has been force-quit.
Where possible, Canary’s Push notifications server leverages OAuth tokens instead of credentials for obtaining account access. New mail metadata and content such as subject, sender name, and the first line of the message is only retained in encrypted form for as long as necessary to deliver the new mail notification to the user and is immediately cleared thereafter.
Canary’s Push notifications server leverages all relevant security best practices and has undergone a full cybersecurity audit for mobile devices like Android and iOS.
The choice between receiving instant and reliable new mail notifications via Push, or secure on-device notifications via Fetch, is yours. You can choose between the two options when first setting up Canary for iOS or Android, or at any time thereafter via Settings.
Click here for more information on Canary’s privacy features & policies: https://canarymail.io/privacy.html