Wanderlust is a email client for Emacs that was specifically designed to provide excellent IMAP support.
Ranked in these QuestionsQuestion Ranking
Pro Integrates nicely with existing Emacs packages
I'm currently using it with BBDB (for keeping my address book), Flyspell (spell checking as you type), Mailcrypt (digital signatures and encryption, here's my public key btw).
Can be integrated with Bogofilter, SpamAssassin, and probably whatever you want for spam filtering.
Pro Customizable with Lisp
The implementation is in elisp only, but allows you to customize the client in any way you wish.
Pro Fantastic IMAP support
The key differentiator for Wanderlust is it's reliable and fast IMAP support.
It also supports a wide range of other protocols:
Pro Nice UI
Has enough UI polish to make day-to-day use bearable. Shows nested folders, threaded conversations and Face/X-Face headers etc. It also has decent keybindings.
Con Freezes Emacs when checking for new mail
Because Elisp is not a multithreaded language, it kind of freezes while checking for new mail. This can be bad if you're using the same Emacs instance for other purposes, like, writing code. :-) Not the case for me—I don't mind starting a new Emacs instance especially for WL; until one week ago I was using Thunderbird, which needs tons of RAM. Emacs is a lot lighter.