imap-next ð“…Ÿ
%%{init: {'theme': 'neutral' } }%%
flowchart LR
imap-types --> imap-codec
imap-codec --> imap-next
imap-next -.-> imap-proxy
imap-next -.-> imap-client
style imap-codec stroke-dasharray: 10 5
style imap-next stroke-width:4px
click imap-types href "https://github.com/duesee/imap-codec/tree/main/imap-types"
click imap-codec href "https://github.com/duesee/imap-codec"
click imap-next href "https://github.com/duesee/imap-next"
click imap-proxy href "https://github.com/duesee/imap-proxy"
click imap-client href "https://github.com/soywod/imap-client"
imap-next is a thin sans I/O abstraction over IMAP's distinct protocol flows.
These are literal handling, AUTHENTICATE, and IDLE.
The way these protocol flows were defined in IMAP couples networking, parsing, and business logic.
imap-next untangles them, providing a minimal interface allowing sending and receiving coherent messages.
It's a thin layer paving the ground for higher-level client or server implementations.
And it's sans I/O enabling the integration in any existing I/O runtime.
Lower-level Libraries
imap-next uses imap-codec internally for parsing and serialization, and
re-exposes imap-types.
Higher-level Libraries
imap-proxyis an IMAP proxy that gracefully forwards unsolicited responses, abstracts over literals, andDebug-prints messages.imap-clientis a methods-based client library with aclient.capability(),client.login(), ... interface.
Usage
use Error;
use ;
use TcpStream;
async
License
This crate is dual-licensed under Apache 2.0 and MIT terms.
Thanks
Thanks to the NLnet Foundation for supporting imap-next through
their NGI Assure program!