a imap implementation for rust