The user also has full control to be able to exclude certain apps (like their mail client of choice) from being "Dozed". This does not require root or any other system modifications.
On my 6P, I can do this via Settings > Apps > (settings gear) > Battery optimization. Tap the "Not Optimized" dropdown -> All apps. You can then pick any non-optimized apps and sent them to "Don't optimize".
It's a funny way to word it, but that's exactly what it does.
No, this is not quite correct. Unless you are rooted, you cannot disable Doze completely, and the exclusion you mention doesn't work 100%.
From Android's official website: https://developer.android.com/train...doze-standby.html#support_for_other_use_cases
An app that is whitelisted can use the network and hold partial wake locks during Doze and App Standby. However, other restrictions still apply to the whitelisted app, just as they do to other apps. For example, the whitelisted app’s jobs and syncs are deferred, and its regular AlarmManager alarms do not fire.
For example, the k9 development team still hasn't figured out what to do: https://github.com/k9mail/k-9/issues/857
The Aquamail developer faces the same dilemma: https://www.aqua-mail.com/forum/index.php?topic=4858.msg28029#msg28029
It's a shame. It's a real shame. Android has gone from one extreme to the other: from a dysfunctional OS which can cause battery drain because apps keep firing up for no reason even when you don't want them to, to one which, in its misguided attempts to improve battery life, prevents the app you want from running in the background when you want them to. Someone one please remind me, what's the difference with Apple's closed ecosystem and 'my-way-or-the-highway' approach?