How to configure Push?

K-9 Mail (5.735 and newer) supports Push for IMAP accounts. Push means the app will maintain a connection to the incoming mail server and be notified as soon as a new message arrives.

Enable Push for an account

When setting up a new account Push is disabled by default. To enable it go to Settings, select the account you want to configure, then open the Fetching mail section. The Push folders setting is used to configure which class of folders should use the Push mechanism to wait for new messages.

If you’re not familiar with K-9 Mail’s folder class system, just select Only 1st Class folders.

Enable Push for a folder

To configure which folders belong to the “1st Class folders” group, open the side drawer and select Manage folders.

Select the folder you want to configure. Then in the folder settings screen pick 1st Class from the list of options for the Folder push class setting.

Repeat this process for every folder you want to check via Push. But try to keep the number of folders as low as possible. The app has to maintain an open connection for every Push folder. Most servers put a rather low limit on how many open connections per user are allowed. More connections also mean more network traffic and more system resources used on your Android device.

@ Notification

K-9 Mail uses a so-called foreground service to signal to Android that the app is doing important work and should be exempt from power saving measures Android usually applies to apps running in the background. Foreground services need to display an ongoing notification so users are aware that the app is running and potentially doing resource-intensive things.

K-9 Mail’s notification is showing an @ symbol in the status bar. If you expand the notification drawer you’ll usually see the text “Waiting for new emails” being displayed.

Most users will want to run K-9 Mail in the background all the time. So this notification doesn’t provide much value. There are two options to remove the icon from the status bar.

Option 1: Turn off the notification

Android requires apps to create the notification. But it allows users to turn off the notification. To do so, long-press the notification in the expanded notification drawer and select Turn off notifications, then toggle the Synchronize (Push) option.

Option 2: Minimize the notification

The notification does show some status information, e.g. when waiting for network connectivity. If you want to keep the notification but get rid of the icon in the status bar you can “minimize” the notification.
Long-press the notification in the expanded notification drawer and select the gear icon in the upper right corner. Then tap the Synchronize (Push) text (not the switch next to it).

In the screen to configure the Synchronize (Push) notification select the Silent option and turn on the Minimize switch.

This will remove the @ icon from the status bar and displays a collapsed version of the notification at the bottom of the expanded notification drawer.


Disable Push

To disable Push, tap the notification, then press the Disable Push button.

This will change the Push folders setting to None for all accounts.

What to do when Push is not working reliably?

Some vendors have modified the Android versions on their devices to use very aggressive power saving measures. Check out the website Don’t kill my app! to learn how to best configure your device.

6 Likes

Thanks for this explanation.

It appears the old version of K-9 (5.600 which is still on the play store) managed to work without this notification.
Did the old version not actually work in the background? or is it due to targeting a newer android version that it now requires the notification? or perhaps the old version was using a completely different implementation that didn’t require the notification?

K-9 5.600 was targeting old Android versions. In order to still upload updates, apps need to target new Android versions.

1 Like

The most important changes in Android that required us to change how K-9 Mail works:

2 Likes

A post was split to a new topic: What’s the advantage of using Push?