[package]
edition = "2024"
name = "mail-auth"
version = "0.11.2"
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",
"dns-hickory",
"hickory-resolver/tls-aws-lc-rs",
"hickory-resolver/dnssec-aws-lc-rs",
"hickory-resolver/rustls-platform-verifier",
]
default = [
"aws-lc-rs",
"report",
"dns-hickory",
]
dns-doh = [
"dep:reqwest",
"dep:web-time",
"dep:hickory-proto",
]
dns-hickory = ["dep:hickory-resolver"]
generate = [
"rsa",
"rand",
]
report = [
"quick-xml",
"zip",
]
ring = [
"dep:ring",
"dns-hickory",
"hickory-resolver/tls-ring",
"hickory-resolver/dnssec-ring",
"hickory-resolver/rustls-platform-verifier",
]
rkyv = [
"dep:rkyv",
"mail-parser/rkyv",
]
rust-crypto = [
"rsa",
"rand",
"ed25519-dalek",
"sha1",
"sha2",
]
test = []
[lib]
name = "mail_auth"
path = "src/lib.rs"
doctest = false
[[example]]
name = "arc_seal"
path = "examples/arc_seal.rs"
required-features = ["arc"]
[[example]]
name = "arc_verify"
path = "examples/arc_verify.rs"
required-features = ["arc"]
[[example]]
name = "dkim_sign"
path = "examples/dkim_sign.rs"
[[example]]
name = "dkim_verify"
path = "examples/dkim_verify.rs"
[[example]]
name = "dmarc_verify"
path = "examples/dmarc_verify.rs"
[[example]]
name = "report_arf_generate"
path = "examples/report_arf_generate.rs"
[[example]]
name = "report_arf_parse"
path = "examples/report_arf_parse.rs"
[[example]]
name = "report_dmarc_generate"
path = "examples/report_dmarc_generate.rs"
[[example]]
name = "report_dmarc_parse"
path = "examples/report_dmarc_parse.rs"
[[example]]
name = "spf_verify"
path = "examples/spf_verify.rs"
[[test]]
name = "dmarc_live"
path = "tests/dmarc_live.rs"
[dependencies.aws-lc-rs]
version = "1"
optional = true
[dependencies.ed25519-dalek]
version = "3"
features = [
"pkcs8",
"alloc",
]
optional = true
[dependencies.flate2]
version = "1.1"
[dependencies.hashify]
version = "0.2"
[dependencies.hickory-proto]
version = "0.26"
optional = true
[dependencies.hickory-resolver]
version = "0.26"
optional = true
[dependencies.mail-parser]
version = "0.11.5"
features = ["full_encoding"]
[dependencies.quick-xml]
version = "0.41"
optional = true
[dependencies.rand]
version = "0.8.5"
optional = true
[dependencies.ring]
version = "0.17"
optional = true
[dependencies.rkyv]
version = "0.8"
optional = true
[dependencies.rsa]
version = "0.9.8"
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.similar]
version = "3"
[dependencies.web-time]
version = "1"
optional = true
[dependencies.zip]
version = "8.5"
features = ["deflate-flate2"]
optional = true
default-features = false
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.testcontainers]
version = "0.27"
[dev-dependencies.tokio]
version = "1.51"
features = [
"net",
"io-util",
"time",
"rt-multi-thread",
"macros",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.mail-builder]
version = "0.4"
[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.mail-builder]
version = "0.4"
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.reqwest]
version = "0.13"
features = [
"json",
"query",
]
optional = true
default-features = false