As I don't use edbrowse as an email client I'm probably not the most qualified to talk about this side of the code. However, I would strongly suggest either 2 or 3 as approaches since I think writing a fully functional imap module is probably going to be a lot of work. Given how many linux clients support imap (including a very ed-like email client) I'd be very surprised and disapointed if a decent library isn't available for this. Cheers, Adam. PS: it looks like edbrowse currently breaks threading, at least in mutt (probably something to do with message headers)