imap-rs-client 0.2.0

Async IMAP session state machine, command pipelining, and credential management. Client layer of imap-rs.
Documentation

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. LOGIN over plaintext, FETCH before 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

[dependencies]
imap-rs-client = "0.2"

Most users should depend on the umbrella imap-rs crate, which re-exports this crate as imap_rs::client. For a ready-made secure transport, see imap-rs-tls.

License

MIT