I've added a note to reconsider this when we do further work here.
I pondered this approach after your initial comments, but at the end I decided to go with multiple inheritance and explicit method naming because I often got confused while editing code in imap/smtp (as in knowing in which class I'm in just by looking at very similar looking methods). Now that the code is consolidated and moving less we could change that in further iterations.