Like many others I've been frustrated with the options that are available for email clients. I recently had a bit of break through and packaged the reusable parts of my mail setup for consumption by others. See the backstory for all the gory details of the hisotry. I've factored everything with an eye towards extensibility so if there's enough interest, I'll start a project and a public repo somewhere and put this out there. See the TODO list if your interested in any of the ideas I have for improvements.
To try it out, just see the README on the pypi page. Here's a brief description.
This package provides some scripts that wrap parts of mswatch and
OfflineIMAP and integrate with Gnus to provide a local maildir that
is synchronized with a remote maildir as changes occur, instead of
polling on a regular basis. This provides for near instant delivery
of new mail while also reducing resource utilization. Integration
with the Emacs mail and newsreader, Gnus, is also provided in such a
way that your single threaded Emacs process is blocked much less as
changes occur to the maildirs.