[package]
edition = "2024"
rust-version = "1.87"
name = "io-imap"
version = "0.1.0"
authors = ["soywod <pimalaya.org@posteo.net>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "IMAP client library"
homepage = "https://pimalaya.org"
documentation = "https://docs.rs/io-imap/latest/io_imap"
readme = "README.md"
keywords = [
"email",
"imap",
"client",
"std",
"io-free",
]
categories = [
"email",
"no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/pimalaya/io-imap"
[package.metadata.docs.rs]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
client = []
default = [
"scram",
"rustls-ring",
]
native-tls = [
"client",
"pimalaya-stream/native-tls",
"dep:anyhow",
"dep:url",
]
rustls-aws = [
"client",
"pimalaya-stream/rustls-aws",
"dep:anyhow",
"dep:url",
]
rustls-ring = [
"client",
"pimalaya-stream/rustls-ring",
"dep:anyhow",
"dep:url",
]
scram = [
"dep:hmac",
"dep:pbkdf2",
"dep:rand",
"dep:sha2",
]
vendored = ["pimalaya-stream?/vendored"]
[lib]
name = "io_imap"
path = "src/lib.rs"
[[example]]
name = "std_client_full"
path = "examples/std_client_full.rs"
required-features = ["rustls-ring"]
[[example]]
name = "std_client_light"
path = "examples/std_client_light.rs"
required-features = ["client"]
[[example]]
name = "std_coroutine"
path = "examples/std_coroutine.rs"
[[example]]
name = "tokio_coroutine"
path = "examples/tokio_coroutine.rs"
[[test]]
name = "common"
path = "tests/common.rs"
[[test]]
name = "fastmail"
path = "tests/fastmail.rs"
[[test]]
name = "gmail"
path = "tests/gmail.rs"
[[test]]
name = "rfc3501"
path = "tests/rfc3501.rs"
[[test]]
name = "stalwart"
path = "tests/stalwart.rs"
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.base64]
version = "0.22"
features = ["alloc"]
default-features = false
[dependencies.hmac]
version = "0.12"
optional = true
[dependencies.imap-codec]
version = "2.0.0-alpha.8"
features = [
"ext_condstore_qresync",
"ext_id",
"ext_login_referrals",
"ext_mailbox_referrals",
"ext_metadata",
"ext_namespace",
"ext_utf8",
"quirk",
"quirk_crlf_relaxed",
"quirk_id_empty_to_nil",
"starttls",
"tag_generator",
]
[dependencies.log]
version = "0.4"
[dependencies.pbkdf2]
version = "0.12"
optional = true
[dependencies.pimalaya-stream]
version = "0.0.1"
optional = true
default-features = false
[dependencies.rand]
version = "0.8"
optional = true
[dependencies.secrecy]
version = "0.10"
default-features = false
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.url]
version = "2.2"
optional = true
default-features = false
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.rustls]
version = "0.23"
features = ["ring"]
[dev-dependencies.rustls-platform-verifier]
version = "0.7"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"net",
"io-util",
]
[dev-dependencies.tokio-rustls]
version = "0.26"
[dev-dependencies.url]
version = "2"