[package]
edition = "2024"
rust-version = "1.87"
name = "io-smtp"
version = "0.1.0"
authors = ["soywod <pimalaya.org@posteo.net>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "SMTP client library"
homepage = "https://pimalaya.org"
documentation = "https://docs.rs/io-smtp/latest/io_smtp"
readme = "README.md"
keywords = [
"email",
"smtp",
"client",
"std",
"io-free",
]
categories = [
"email",
"no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/pimalaya/io-smtp"
[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_smtp"
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 = "parsers"
path = "tests/parsers.rs"
[[test]]
name = "rfc5321"
path = "tests/rfc5321.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.bounded-static]
version = "0.8"
features = ["alloc"]
default-features = false
[dependencies.bounded-static-derive]
version = "0.8"
default-features = false
[dependencies.chumsky]
version = "0.13"
default-features = false
[dependencies.hmac]
version = "0.13"
optional = true
default-features = false
[dependencies.log]
version = "0.4"
default-features = false
[dependencies.pbkdf2]
version = "0.13.0-rc.10"
features = ["hmac"]
optional = true
default-features = false
[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.11"
optional = true
default-features = false
[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"