[package]
edition = "2024"
rust-version = "1.87"
name = "io-email"
version = "0.1.0"
authors = ["soywod <pimalaya.org@posteo.net>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Email client library"
homepage = "https://pimalaya.org"
documentation = "https://docs.rs/io-email/latest/io_email"
readme = "README.md"
keywords = [
"io-free",
"coroutine",
"email",
"imap",
"jmap",
]
categories = [
"api-bindings",
"email",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/pimalaya/io-email"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
client = [
"pimalaya-stream/std",
"io-imap?/client",
"io-jmap?/client",
"io-smtp?/client",
]
default = [
"rustls-ring",
"imap",
"jmap",
"smtp",
"maildir",
"m2dir",
"search",
"serde",
]
imap = [
"dep:io-imap",
"dep:mail-parser",
"dep:rfc2047-decoder",
"dep:uuid",
]
jmap = [
"dep:io-jmap",
"dep:io-http",
"dep:secrecy",
"dep:url",
]
m2dir = [
"client",
"dep:io-m2dir",
"io-m2dir?/client",
"dep:mail-parser",
]
maildir = [
"client",
"dep:io-maildir",
"io-maildir?/client",
"io-maildir?/parser",
"dep:mail-parser",
"dep:gethostname",
]
native-tls = [
"client",
"pimalaya-stream/native-tls",
"io-imap?/native-tls",
"io-jmap?/native-tls",
"io-smtp?/native-tls",
"dep:url",
]
rustls-aws = [
"client",
"pimalaya-stream/rustls-aws",
"io-imap?/rustls-aws",
"io-jmap?/rustls-aws",
"io-smtp?/rustls-aws",
"dep:url",
]
rustls-ring = [
"client",
"pimalaya-stream/rustls-ring",
"io-imap?/rustls-ring",
"io-jmap?/rustls-ring",
"io-smtp?/rustls-ring",
"dep:url",
]
search = ["dep:chumsky"]
serde = [
"dep:serde",
"chrono/serde",
"mail-parser?/serde",
]
smtp = [
"client",
"dep:io-smtp",
"dep:mail-parser",
]
[lib]
name = "io_email"
path = "src/lib.rs"
[[example]]
name = "tokio_imap_list_mailboxes"
path = "examples/tokio_imap_list_mailboxes.rs"
required-features = [
"client",
"imap",
]
[dependencies.chrono]
version = "0.4"
features = ["alloc"]
default-features = false
[dependencies.chumsky]
version = "0.13"
optional = true
default-features = false
[dependencies.gethostname]
version = "1"
optional = true
[dependencies.io-http]
version = "0.1"
optional = true
default-features = false
[dependencies.io-imap]
version = "0.1"
optional = true
default-features = false
[dependencies.io-jmap]
version = "0.1"
optional = true
default-features = false
[dependencies.io-m2dir]
version = "0.1"
optional = true
default-features = false
[dependencies.io-maildir]
version = "0.1"
optional = true
default-features = false
[dependencies.io-smtp]
version = "0.1"
optional = true
default-features = false
[dependencies.log]
version = "0.4"
default-features = false
[dependencies.mail-parser]
version = "0.11"
optional = true
[dependencies.notify]
version = "8"
features = ["macos_kqueue"]
optional = true
default-features = false
[dependencies.pimalaya-stream]
version = "0.0.1"
optional = true
default-features = false
[dependencies.rfc2047-decoder]
version = "1"
optional = true
[dependencies.secrecy]
version = "0.10"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.url]
version = "2.5"
optional = true
default-features = false
[dependencies.uuid]
version = "1.19"
features = ["v4"]
optional = true
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"io-util",
"macros",
"net",
"rt",
]