mail-auth 0.14.0

DKIM, ARC, SPF and DMARC library for Rust
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "mail-auth"
version = "0.14.0"
authors = ["Stalwart Labs LLC <hello@stalw.art>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "DKIM, ARC, SPF and DMARC library for Rust"
homepage = "https://github.com/stalwartlabs/mail-auth"
readme = "README.md"
keywords = [
    "dkim",
    "dmarc",
    "spf",
    "arc",
    "mail",
]
categories = [
    "email",
    "authentication",
]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/stalwartlabs/mail-auth"
resolver = "2"

[features]
arc = []
aws-lc-rs = [
    "dep:aws-lc-rs",
    "dep:aws-lc-sys",
    "dns-hickory",
    "hickory-resolver/tls-aws-lc-rs",
    "hickory-resolver/dnssec-aws-lc-rs",
    "hickory-resolver/rustls-platform-verifier",
]
default = [
    "aws-lc-rs",
    "dns-hickory",
]
dns-doh = [
    "dep:reqwest",
    "dep:web-time",
    "dep:hickory-proto",
]
dns-hickory = ["dep:hickory-resolver"]
generate = [
    "rsa",
    "rand",
]
rust-crypto = [
    "rsa",
    "rand",
    "ed25519-dalek",
    "sha1",
    "sha2",
    "ml-dsa",
]
test = []

[lib]
name = "mail_auth"
path = "src/lib.rs"
doctest = false

[[example]]
name = "arc_seal"
path = "examples/arc_seal.rs"
required-features = [
    "arc",
    "aws-lc-rs",
]

[[example]]
name = "arc_verify"
path = "examples/arc_verify.rs"
required-features = [
    "arc",
    "aws-lc-rs",
]

[[example]]
name = "dkim_sign"
path = "examples/dkim_sign.rs"

[[example]]
name = "dkim_verify"
path = "examples/dkim_verify.rs"
required-features = ["aws-lc-rs"]

[[example]]
name = "dmarc_verify"
path = "examples/dmarc_verify.rs"
required-features = ["aws-lc-rs"]

[[example]]
name = "spf_verify"
path = "examples/spf_verify.rs"
required-features = ["aws-lc-rs"]

[[test]]
name = "dmarc_live"
path = "tests/dmarc_live.rs"

[dependencies.aws-lc-rs]
version = "1.18.2"
optional = true

[dependencies.aws-lc-sys]
version = "0.46"
optional = true

[dependencies.ed25519-dalek]
version = "3"
features = [
    "pkcs8",
    "alloc",
]
optional = true

[dependencies.encodify]
version = "1.0"

[dependencies.hashify]
version = "0.3"

[dependencies.hickory-proto]
version = "0.26"
optional = true

[dependencies.hickory-resolver]
version = "0.26"
optional = true

[dependencies.idna]
version = "1.1"

[dependencies.mail-parser]
version = "1.0"
features = ["full_encoding"]

[dependencies.memchr]
version = "2.7"

[dependencies.ml-dsa]
version = "0.1.1"
features = [
    "alloc",
    "rand_core",
]
optional = true
default-features = false

[dependencies.rand]
version = "0.10"
optional = true

[dependencies.rsa]
version = "0.9.8"
features = ["getrandom"]
optional = true

[dependencies.rustls-pki-types]
version = "1.15"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.sha1]
version = "0.11"
optional = true

[dependencies.sha2]
version = "0.11"
optional = true

[dependencies.simdutf8]
version = "0.1.5"

[dependencies.similar]
version = "3"

[dependencies.web-time]
version = "1"
optional = true

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.testcontainers]
version = "0.28"

[dev-dependencies.tokio]
version = "1.54"
features = [
    "net",
    "io-util",
    "time",
    "rt-multi-thread",
    "macros",
]

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.reqwest]
version = "0.13"
features = [
    "rustls",
    "webpki-roots",
    "http2",
    "json",
    "query",
]
optional = true
default-features = false

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom_v04]
version = "0.4"
features = ["wasm_js"]
package = "getrandom"

[target.'cfg(target_arch = "wasm32")'.dependencies.hickory-proto]
version = "0.26"
features = ["wasm-bindgen"]
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.reqwest]
version = "0.13"
features = [
    "json",
    "query",
]
optional = true
default-features = false

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(fuzzing)"]