imap-rs-client
Async IMAP session state machine and client logic for the
imap-rs library.
This is the client layer of the hexagonal imap-rs workspace. It owns the
type-state session machine, command pipelining, capability negotiation, and
credential handling. It builds on imap-rs-core
and is transport-agnostic — bring your own AsyncRead + AsyncWrite stream.
Features
- Type-state sessions: invalid protocol transitions (e.g.
LOGINover plaintext,FETCHbefore authentication) fail to compile. - Credential hygiene: secrets are wrapped and zeroized on drop via
zeroize. - Async-native: built on
tokio.
Cargo features
| Feature | Default | Description |
|---|---|---|
move_ext |
off | RFC 6851 MOVE extension (Session::move_messages). |
Usage
[]
= "0.2"
Most users should depend on the umbrella
imap-rscrate, which re-exports this crate asimap_rs::client. For a ready-made secure transport, seeimap-rs-tls.
License
MIT