io-smtp 0.2.2

SMTP client library for Rust
Documentation
# Contributing guide

Thank you for investing your time in contributing to I/O SMTP.

Whether you are a human or an AI agent, read these in order before touching the code:

1. the [Pimalaya README]https://github.com/pimalaya for what the project is and how its repositories stack;
2. the [Pimalaya CONTRIBUTING]https://github.com/pimalaya/.github/blob/master/CONTRIBUTING.md guide, which chains to the shared architecture and guidelines;
3. the inline header documentation, starting with src/lib.rs: it is the architecture document of this crate;
4. the docs/ folder for the development history and living plans.

Everything below documents only what differs from the Pimalaya standards.

## Feature matrix

On top of the standard layered checks, io-smtp gates the SCRAM-SHA-256 mechanism behind the scram feature (it pulls the hmac, pbkdf2, rand and sha2 crates), so build both sides of that gate too:

```sh
cargo build --no-default-features                    # coroutines only, no std leak
cargo build --no-default-features --features scram   # coroutines + SCRAM-SHA-256
cargo build --no-default-features --features client  # light client, no TLS deps
cargo build --release                                # full client (default TLS + scram)
```

## Provider tests

The tests folder ships ignored end-to-end tests against real servers: fastmail and gmail read credentials from environment variables (documented in each file's header), stalwart expects a local instance started with tests/stalwart.sh. Run one with cargo test --test followed by its name and -- --ignored.